buildflags.mk 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. # This Makefile snippet defines the following variables:
  2. #
  3. # CFLAGS: flags for the C compiler
  4. # CPPFLAGS: flags for the C preprocessor
  5. # CXXFLAGS: flags for the C++ compiler
  6. # FFLAGS: flags for the Fortran compiler
  7. # LDFLAGS: flags for the linker
  8. #
  9. # You can also export them in the environment by setting
  10. # DPKG_EXPORT_BUILDFLAGS to a non-empty value.
  11. #
  12. # This list is kept in sync with the default set of flags returned
  13. # by dpkg-buildflags.
  14. dpkg_late_eval ?= $(or $(value DPKG_CACHE_$(1)),$(eval DPKG_CACHE_$(1) := $(shell $(2)))$(value DPKG_CACHE_$(1)))
  15. DPKG_BUILDFLAGS_LIST = CFLAGS CPPFLAGS CXXFLAGS FFLAGS LDFLAGS
  16. define dpkg_buildflags_export_envvar
  17. ifdef $(1)
  18. DPKG_BUILDFLAGS_EXPORT_ENVVAR += $(1)="$(value $(1))"
  19. endif
  20. endef
  21. $(eval $(call dpkg_buildflags_export_envvar,DEB_BUILD_MAINT_OPTIONS))
  22. $(foreach flag,$(DPKG_BUILDFLAGS_LIST),\
  23. $(foreach operation,SET STRIP APPEND PREPEND,\
  24. $(eval $(call dpkg_buildflags_export_envvar,DEB_$(flag)_MAINT_$(operation)))))
  25. dpkg_buildflags_setvar = $(1) = $(call dpkg_late_eval,$(1),$(DPKG_BUILDFLAGS_EXPORT_ENVVAR) dpkg-buildflags --get $(1))
  26. $(foreach flag,$(DPKG_BUILDFLAGS_LIST),\
  27. $(eval $(call dpkg_buildflags_setvar,$(flag))))
  28. ifdef DPKG_EXPORT_BUILDFLAGS
  29. export $(DPKG_BUILDFLAGS_LIST)
  30. endif