defs-cpp.mk, rules.mk: New variables REAL_(CPP|C|LD)FLAGS

These variables denote the flags used in compiler and linker rules.
They are defined as REAL_(CPP|C|LD)FLAGS ?= BUILD_(CPP|C|LD)FLAGS
and provide a means to override the flags assembled cumulatively.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2019-03-13 08:59:20 +00:00
commit ea7cb92324
2 changed files with 21 additions and 11 deletions

View file

@ -516,6 +516,10 @@ BUILD_LDFLAGS += $(LOCAL_LDFLAGS) $(PROJECTLIB_LDFLAGS) $(PROJECT_
#RPM_REQUIRES = $(shell $(ECHO) "$(RPM_REQUIRES_RUN) $(RPM_REQUIRES_DEVEL)" | $(add_flavour_prefix))
RPM_REQUIRES += $(RPM_REQUIRES_RUN) $(RPM_REQUIRES_DEVEL)
REAL_CFLAGS ?= $(BUILD_CFLAGS)
REAL_CPPFLAGS ?= $(BUILD_CPPFLAGS)
REAL_LDFLAGS ?= $(BUILD_LDFLAGS)
# -- LIB
INSTALLATION_FILE_TYPES += LIB
#BUILD_PIDIR = $(BUILD_LIBDIR)

View file

@ -175,6 +175,7 @@ echo-ldflags:
@echo "LPPFLAGS = $(LPPFLAGS)"
@echo "LIBFLAGS = $(LIBFLAGS)"
@echo "QT_LDFLAGS = $(QT_LDFLAGS)"
@echo "REAL_LDFLAGS = $(REAL_LDFLAGS)"
echo-cflags:
@echo LOCAL_CFLAGS = $(LOCAL_CFLAGS)
@ -183,6 +184,8 @@ echo-cflags:
@echo LOCAL_CPPFLAGS = $(LOCAL_CPPFLAGS)
@echo PROJECT_CPPFLAGS = $(PROJECT_CPPFLAGS)
@echo BUILD_CPPFLAGS = $(BUILD_CPPFLAGS)
@echo REAL_CFLAGS = $(REAL_CFLAGS)
@echo REAL_CPPFLAGS = $(REAL_CPPFLAGS)
echo-development:
echo DEVELOPMENT = $(DEVELOPMENT)
@ -191,7 +194,7 @@ echo-libpath:
@echo LD_LIBRARY_PATH = :$(LD_LIBRARY_PATH) | $(beautify_lib_path)
lddtree:
bash $(MOD_SCRIPT_DIR)/linktree.sh $(BUILD_LDFLAGS)
bash $(MOD_SCRIPT_DIR)/linktree.sh $(REAL_LDFLAGS)
echo-path:
@echo PATH = :$(PATH) | $(beautify_lib_path)
@ -274,10 +277,10 @@ strip.done: $(EXE_ALL)
ifeq ($(LIBTYPE),shared)
$(SO_PREFIX)%.so: %.o
$(LD) -shared $(BUILD_LDFLAGS) $(FLAVOUR_PREFIX)$^ -o $@
$(LD) -shared $(REAL_LDFLAGS) $(FLAVOUR_PREFIX)$^ -o $@
else
$(SO_PREFIX)%.so: %.o
$(LD) $(BUILD_LDFLAGS) $(FLAVOUR_PREFIX)$^ -o $@
$(LD) $(REAL_LDFLAGS) $(FLAVOUR_PREFIX)$^ -o $@
endif
$(VERSION_SCRIPT):
@ -287,7 +290,7 @@ $(VERSION_SCRIPT):
ifneq ($(TARGET),mingw)
$(LIB_SO): $(VERSION_SCRIPT) $(LIB_A) $(TOPDIR)/dir_build_LIB.done
$(LD) -shared -Wl,--whole-archive,-soname=$(notdir $@) $(VERSION_SCRIPT) $(LIB_A) -Wl,--no-whole-archive \
$(filter-out -l$(LIBNAME),$(BUILD_LDFLAGS)) -o $@
$(filter-out -l$(LIBNAME),$(REAL_LDFLAGS)) -o $@
else
$(WINRES_RC): $(WINRES_RC_TMPL)
$(CAT) $< | $(SED) " \
@ -304,22 +307,25 @@ $(WINRES_O): $(WINRES_RC)
$(LIB_SO): $(VERSION_SCRIPT) $(WINRES_O) $(LIB_A) $(TOPDIR)/dir_build_LIB.done
$(LD) -shared -Wl,--whole-archive,--out-implib,$(shell echo $(LIB_A) | \
$(SED) 's/-static//'),--output-def,$(LIB_DEF) $(VERSION_SCRIPT) $(LIB_A) $(WINRES_O) \
-Wl,--no-whole-archive $(filter-out -l$(LIBNAME),$(BUILD_LDFLAGS)) -o $@
-Wl,--no-whole-archive $(filter-out -l$(LIBNAME),$(REAL_LDFLAGS)) -o $@
$(MSVCPP_IMPLIB): $(LIB_SO)
$(MS_LD) /machine:i386 /def:$(LIB_DEF)
endif
$(FLAVOUR_PREFIX)%.o: %.cpp
$(CPP) $(BUILD_CPPFLAGS) -c $< -o $@
$(CPP) $(REAL_CPPFLAGS) -c $< -o $@
$(FLAVOUR_PREFIX)%.o: %.cc
$(CPP) $(BUILD_CPPFLAGS) -c $< -o $@
$(CPP) $(REAL_CPPFLAGS) -c $< -o $@
$(FLAVOUR_PREFIX)%.o: %.c
$(CC) $(BUILD_CFLAGS) -c $< -o $@
$(CC) $(REAL_CFLAGS) -c $< -o $@
$(FLAVOUR_PREFIX)%.o: %.S
$(CC) $(BUILD_CFLAGS) -c $< -o $@
$(CC) $(REAL_CFLAGS) -c $< -o $@
$(FLAVOUR_PREFIX)%.o: %.sx
$(CC) $(REAL_CFLAGS) -c $< -o $@
$(LIB_A)(%.o): %.o
$(AR) crU $(LIB_A) $<
@ -345,10 +351,10 @@ else
endif
$(EXE) $(EXE_BIN):
$(CPP) $(sort $(OBJ)) $(BUILD_LDFLAGS) -o $@
$(CPP) $(sort $(OBJ)) $(REAL_LDFLAGS) -o $@
$(PLUGIN) $(PLUGIN_LIB):
$(CPP) -shared $(sort $(OBJ)) $(BUILD_LDFLAGS) -o $@
$(CPP) -shared $(sort $(OBJ)) $(REAL_LDFLAGS) -o $@
# mkdir -p $(BUILD_LIBDIR)
# $(BIN_INSTALL) -m 755 $@ $(BUILD_LIBDIR)