Commit | Line | Data |
---|---|---|
1479465f GJ |
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 | # OBJCFLAGS: flags for the Objective C compiler | |
7 | # OBJCXXFLAGS: flags for the Objective C++ compiler | |
8 | # GCJFLAGS: flags for the GNU Java compiler | |
9 | # FFLAGS: flags for the Fortran 77 compiler | |
10 | # FCFLAGS: flags for the Fortran 9x compiler | |
11 | # LDFLAGS: flags for the linker | |
12 | # | |
13 | # You can also export them in the environment by setting | |
14 | # DPKG_EXPORT_BUILDFLAGS to a non-empty value. | |
15 | # | |
16 | # This list is kept in sync with the default set of flags returned | |
17 | # by dpkg-buildflags. | |
18 | ||
19 | dpkg_lazy_eval ?= $$(or $$(value DPKG_CACHE_$(1)),$$(eval DPKG_CACHE_$(1) := $$(shell $(2)))$$(value DPKG_CACHE_$(1))) | |
20 | ||
21 | DPKG_BUILDFLAGS_LIST = CFLAGS CPPFLAGS CXXFLAGS OBJCFLAGS OBJCXXFLAGS \ | |
22 | GCJFLAGS FFLAGS FCFLAGS LDFLAGS | |
23 | ||
24 | define dpkg_buildflags_export_envvar | |
25 | ifdef $(1) | |
26 | DPKG_BUILDFLAGS_EXPORT_ENVVAR += $(1)="$$(value $(1))" | |
27 | endif | |
28 | endef | |
29 | ||
30 | $(eval $(call dpkg_buildflags_export_envvar,DEB_BUILD_OPTIONS)) | |
31 | $(eval $(call dpkg_buildflags_export_envvar,DEB_BUILD_MAINT_OPTIONS)) | |
32 | $(foreach flag,$(DPKG_BUILDFLAGS_LIST),\ | |
33 | $(foreach operation,SET STRIP APPEND PREPEND,\ | |
34 | $(eval $(call dpkg_buildflags_export_envvar,DEB_$(flag)_MAINT_$(operation))))) | |
35 | ||
36 | dpkg_buildflags_setvar = $(1) = $(call dpkg_lazy_eval,$(1),$(DPKG_BUILDFLAGS_EXPORT_ENVVAR) dpkg-buildflags --get $(1)) | |
37 | ||
38 | $(foreach flag,$(DPKG_BUILDFLAGS_LIST),\ | |
39 | $(eval $(call dpkg_buildflags_setvar,$(flag)))) | |
40 | ||
41 | ifdef DPKG_EXPORT_BUILDFLAGS | |
42 | export $(DPKG_BUILDFLAGS_LIST) | |
43 | endif |