diff options
author | Alfred E. Heggestad <aeh@db.org> | 2015-08-01 12:50:32 +0200 |
---|---|---|
committer | Alfred E. Heggestad <aeh@db.org> | 2015-08-01 12:50:32 +0200 |
commit | 6040baed4b5694f8351fe8b1f1b360ab0c126ed8 (patch) | |
tree | 7ae75bfdade443aad7250bbeb810cef3986e3f3b | |
parent | 52d1c338fa429ca4a37c0737190d1e6099af37a9 (diff) |
make: added $(MOD)_CFLAGS to module.mk
each module can now choose between CFLAGS and/or $(MOD)_CFLAGS
- CFLAGS will append the flags to the global CFLAGS and thus be used
when compiling all .c files (core and modules)
- $(MOD)_CFLAGS will only be used for compiling that specific module
and will not pollute the global CFLAGS space
-rw-r--r-- | mk/mod.mk | 24 |
1 files changed, 17 insertions, 7 deletions
@@ -19,6 +19,12 @@ $(MOD)_OBJS += $(patsubst %.S,$(BUILD)/modules/$(MOD)/%.o,\ $(MOD)_NAME := $(MOD) +# +# function to extract the name of the module from the file/dir path +# +modulename = $(lastword $(subst /, ,$(dir $1))) + + ifeq ($(STATIC),) # @@ -34,19 +40,21 @@ $(BUILD)/modules/$(MOD)/%.o: modules/$(MOD)/%.c $(BUILD) Makefile mk/mod.mk \ modules/$(MOD)/module.mk mk/modules.mk @echo " CC [M] $@" @mkdir -p $(dir $@) - @$(CC) $(CFLAGS) -c $< -o $@ $(DFLAGS) + @$(CC) $(CFLAGS) $($(call modulename,$@)_CFLAGS) -c $< -o $@ $(DFLAGS) $(BUILD)/modules/$(MOD)/%.o: modules/$(MOD)/%.m $(BUILD) Makefile mk/mod.mk \ modules/$(MOD)/module.mk mk/modules.mk @echo " OC [M] $@" @mkdir -p $(dir $@) - @$(CC) $(CFLAGS) $(OBJCFLAGS) -c $< -o $@ $(DFLAGS) + @$(CC) $(CFLAGS) $($(call modulename,$@)_CFLAGS) $(OBJCFLAGS) \ + -c $< -o $@ $(DFLAGS) $(BUILD)/modules/$(MOD)/%.o: modules/$(MOD)/%.cpp $(BUILD) Makefile mk/mod.mk \ modules/$(MOD)/module.mk mk/modules.mk @echo " CXX [M] $@" @mkdir -p $(dir $@) - @$(CXX) $(CXXFLAGS) -c $< -o $@ $(DFLAGS) + @$(CXX) $(CXXFLAGS) $($(call modulename,$@)_CXXFLAGS) \ + -c $< -o $@ $(DFLAGS) $(BUILD)/modules/$(MOD)/%.o: modules/$(MOD)/%.S $(BUILD) Makefile mk/mod.mk \ modules/$(MOD)/module.mk mk/modules.mk @@ -68,21 +76,23 @@ $(BUILD)/modules/$(MOD)/%.o: modules/$(MOD)/%.c $(BUILD) Makefile mk/mod.mk \ modules/$(MOD)/module.mk mk/modules.mk @echo " CC [m] $@" @mkdir -p $(dir $@) - @$(CC) $(CFLAGS) -DMOD_NAME=\"$(MOD)\" -c $< -o $@ $(DFLAGS) + @$(CC) $(CFLAGS) $($(call modulename,$@)_CFLAGS) \ + -DMOD_NAME=\"$(MOD)\" -c $< -o $@ $(DFLAGS) $(BUILD)/modules/$(MOD)/%.o: modules/$(MOD)/%.m $(BUILD) Makefile mk/mod.mk \ modules/$(MOD)/module.mk mk/modules.mk @echo " OC [m] $@" @mkdir -p $(dir $@) - @$(CC) $(CFLAGS) $(OBJCFLAGS) -DMOD_NAME=\"$(MOD)\" -c $< -o $@ \ - $(DFLAGS) + @$(CC) $(CFLAGS) $($(call modulename,$@)_CFLAGS) $(OBJCFLAGS) \ + -DMOD_NAME=\"$(MOD)\" -c $< -o $@ $(DFLAGS) $(BUILD)/modules/$(MOD)/%.o: modules/$(MOD)/%.cpp $(BUILD) Makefile mk/mod.mk \ modules/$(MOD)/module.mk mk/modules.mk @echo " CXX [m] $@" @mkdir -p $(dir $@) - @$(CXX) $(CXXFLAGS) -DMOD_NAME=\"$(MOD)\" -c $< -o $@ $(DFLAGS) + @$(CXX) $(CXXFLAGS) $($(call modulename,$@)_CXXFLAGS) \ + -DMOD_NAME=\"$(MOD)\" -c $< -o $@ $(DFLAGS) $(BUILD)/modules/$(MOD)/%.o: modules/$(MOD)/%.S $(BUILD) Makefile mk/mod.mk \ modules/$(MOD)/module.mk mk/modules.mk |