From 9aa6b84a5e16a7b49bc33bb90ade668aca350812 Mon Sep 17 00:00:00 2001 From: Aleksandar Bozhinovski Date: Wed, 9 May 2012 11:33:53 +0200 Subject: Reconfigure output folder When using android build, intermediate build files now are placed in $OUT folder, not in the source folder. ST-Ericsson ID: 432503 ST-Ericsson FOSS-OUT ID: STETL-FOSS-OUT-10204 Change-Id: Id5b27ab3fae32a573ee684731bb17fb162920ec0 Depends-On: Ief5705e34a63b14cdd9506360bd0d8ce10458e95 Depends-On: Id2aa896b7a7dfd572bf589a22c0f4e41d1848370 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/58521 Tested-by: Vlatko STENKOSKI Tested-by: Cvetko MLADENOVSKI Reviewed-by: Zoran ALEKSOV --- Android.mk | 8 ++++---- Makefile | 23 +++++++++++++++-------- lcmodule/Makefile | 34 ++++++++++++++++++++++------------ source/gen_rc.sh | 5 +++-- 4 files changed, 44 insertions(+), 26 deletions(-) diff --git a/Android.mk b/Android.mk index a13e8aa..a28cab1 100644 --- a/Android.mk +++ b/Android.mk @@ -54,11 +54,11 @@ install-lcm: build-lcm $(MAKE) -C $(PRIVATE_LC_LCM_DIR) $(PRIVATE_LC_LCM_FLAGS) CONFIG_DIR=$(PRIVATE_LC_LCM_OUT_DIR) install .PHONY: clean-lcm -clean-lcm: +clean-lcm: config-lcm $(MAKE) -C $(PRIVATE_LC_LCM_DIR) $(PRIVATE_LC_LCM_FLAGS) CONFIG_DIR=$(PRIVATE_LC_LCM_OUT_DIR) clean .PHONY: distclean-lcm -distclean-lcm: +distclean-lcm: config-lcm $(MAKE) -C $(PRIVATE_LC_LCM_DIR) $(PRIVATE_LC_LCM_FLAGS) CONFIG_DIR=$(PRIVATE_LC_LCM_OUT_DIR) distclean #LCD TARGETS @@ -77,11 +77,11 @@ install-lcd: build-lcd $(MAKE) -C $(PRIVATE_LC_LCD_DIR) $(PRIVATE_LC_LCD_FLAGS) CONFIG_DIR=$(PRIVATE_LC_LCD_OUT_DIR) install .PHONY: clean-lcd -clean-lcd: +clean-lcd: config-lcd $(MAKE) -C $(PRIVATE_LC_LCD_DIR) $(PRIVATE_LC_LCD_FLAGS) CONFIG_DIR=$(PRIVATE_LC_LCD_OUT_DIR) clean .PHONY: distclean-lcd -distclean-lcd: +distclean-lcd: config-lcd $(MAKE) -C $(PRIVATE_LC_LCD_DIR) $(PRIVATE_LC_LCD_FLAGS) CONFIG_DIR=$(PRIVATE_LC_LCD_OUT_DIR) distclean clean clobber: clean-lcm clean-lcd diff --git a/Makefile b/Makefile index 5cc580e..239bf9d 100644 --- a/Makefile +++ b/Makefile @@ -137,14 +137,12 @@ build: $(SCRIPT) $(MAKE) -C . start-build # Start Win x32 Build ifeq ($(USE_MINGW_X32),1) - bash $(LCD_DIR)source/gen_rc.sh --lcd $(MAKE) -C . start-build BUILD_WIN=1 else @echo "*** warning: No Cross Compiler $(MINGW_X32_CC)g++ found ***" endif # Start Win x64 Build ifeq ($(USE_MINGW_X64),1) - bash $(LCD_DIR)source/gen_rc.sh --lcd $(MAKE) -C . start-build BUILD_WIN=2 else @echo "*** warning: No Cross Compiler $(MINGW_X64_CC)g++ found ***" @@ -228,9 +226,9 @@ $(BUILDFOLDER)/$(LIB_x32_OBJ_DIR)/%.o: source/api_wrappers/linux/%.cpp $(AUTOGEN endif ifeq ($(BUILD_WIN),1) -$(BUILDFOLDER)/$(LIB_x32_OBJ_DIR)/%.o: out/autogen/outLCDriver.rc $(AUTOGEN_FILES) +$(BUILDFOLDER)/$(LIB_x32_OBJ_DIR)/%.o: $(AUTO_DIR_LIB)/outLCDriver.rc $(AUTOGEN_FILES) @mkdir -p $(dir $@) - $(MINGW_X32_CC)windres out/autogen/outLCDriver.rc $(BUILDFOLDER)/$(LIB_x32_OBJ_DIR)/$(@F) + $(MINGW_X32_CC)windres $(AUTO_DIR_LIB)/outLCDriver.rc $(BUILDFOLDER)/$(LIB_x32_OBJ_DIR)/$(@F) endif # @@ -271,9 +269,9 @@ $(BUILDFOLDER)/$(LIB_x64_OBJ_DIR)/%.o: source/api_wrappers/linux/%.cpp $(AUTOGEN endif ifeq ($(BUILD_WIN),2) -$(BUILDFOLDER)/$(LIB_x64_OBJ_DIR)/%.o: out/autogen/outLCDriver.rc $(AUTOGEN_FILES) +$(BUILDFOLDER)/$(LIB_x64_OBJ_DIR)/%.o: $(AUTO_DIR_LIB)/outLCDriver.rc $(AUTOGEN_FILES) @mkdir -p $(dir $@) - $(MINGW_X64_CC)windres out/autogen/outLCDriver.rc $(BUILDFOLDER)/$(LIB_x64_OBJ_DIR)/$(@F) + $(MINGW_X64_CC)windres $(AUTO_DIR_LIB)/outLCDriver.rc $(BUILDFOLDER)/$(LIB_x64_OBJ_DIR)/$(@F) endif #Autogen files @@ -321,6 +319,10 @@ $(AUTO_DIR_LIB)/LcdVersion.cpp: $(LCD_DIR)source/gen_version_files.sh | setup_fo @echo "Generating autogen $(AUTO_DIR_LIB)/LcdVersion.cpp..." bash $(LCD_DIR)source/gen_version_files.sh --lcd $(abspath $(AUTO_DIR_LIB)) $(abspath $(LCD_DIR)) +$(AUTO_DIR_LIB)/outLCDriver.rc: $(LCD_DIR)source/gen_rc.sh | setup_folders + @echo "Generating autogen $(AUTO_DIR_LIB)/outLCDriver.rc..." + bash $(LCD_DIR)source/gen_rc.sh --lcd $(AUTO_DIR_LIB) + #setting up needed folders $(BUILDFOLDER): | configfile @mkdir -p $@ 2> /dev/null @@ -373,11 +375,17 @@ configfile: $(if $(wildcard $(config_file)),,config) config: LIB_x32_OBJ_DIR := x32 config: LIB_x64_OBJ_DIR := x64 config: LCD_INSTALLDIR := /tmp/ +config: +ifeq ($(CONFIG_DIR),) + BUILDOUT := $(LCD_DIR)out +else + BUILDOUT := $(CONFIG_DIR)/out +endif config: @echo Generating config file... @rm -f $(config_file) @touch $(config_file) - @echo "BUILDOUT := \$$(LCD_DIR)out" >> $(config_file) + @echo "BUILDOUT := $(BUILDOUT)" >> $(config_file) @echo "ifeq (\$$(BUILD_WIN),)" >> $(config_file) @echo "BUILDFOLDER := \$$(BUILDOUT)/out_linux" >> $(config_file) @@ -440,7 +448,6 @@ clean: $(MAKE) -C . start-clean BUILD_WIN=2 start-clean: - @rm -f $(LCD_DIR)out/autogen/outLCDriver.rc $(if $(BUILDFOLDER), \ $(if $(LIB_x32_OBJ_DIR), \ @rm -rf $(BUILDFOLDER)/$(LIB_x32_OBJ_DIR) \ diff --git a/lcmodule/Makefile b/lcmodule/Makefile index 3aac38a..37cb19e 100644 --- a/lcmodule/Makefile +++ b/lcmodule/Makefile @@ -20,6 +20,7 @@ LCM_CONFIG:=$(LCM_CNH_PATH)/config LCM_CUST_CONFIG:=$(LCM_PATH)/customer_config SUPPORTED_CMDS_PATH:=$(LOADER_DIR)/src/platform_support/stn8500/config/supported_commands.xml + ifneq ($(shell which $(MINGW_X32_CC)gcc), ) USE_MINGW_X32 := 1 else @@ -126,13 +127,11 @@ endif build: $(MAKE) -C . start-build ifeq ($(USE_MINGW_X32),1) - bash ${LCM_PATH}/../source/gen_rc.sh --lcm $(MAKE) -C . start-build BUILD_WIN=1 else @echo "*** warning: No Cross Compiler $(MINGW_X32_CC)gcc found ***" endif ifeq ($(USE_MINGW_X64),1) - bash ${LCM_PATH}/../source/gen_rc.sh --lcm $(MAKE) -C . start-build BUILD_WIN=2 else @echo "*** warning: No Cross Compiler $(MINGW_X64_CC)gcc found ***" @@ -205,9 +204,9 @@ $(BUILDFOLDER)/$(LIB_x32_OBJ_DIR)/lcm_version.o: $(LCM_AUTO_DIR)/lcm_version.c $(CC) $(INCLUDES) $(CFLAGS) -c -m32 $< -o $(BUILDFOLDER)/$(LIB_x32_OBJ_DIR)/$(@F) ifeq ($(BUILD_WIN),1) -$(BUILDFOLDER)/$(LIB_x32_OBJ_DIR)/%.o: out/autogen/outLCM.rc $(AUTOGEN_FILES) +$(BUILDFOLDER)/$(LIB_x32_OBJ_DIR)/%.o: $(LCM_AUTO_DIR)/outLCM.rc $(AUTOGEN_FILES) @mkdir -p $(dir $@) - $(MINGW_X32_CC)windres out/autogen/outLCM.rc $(BUILDFOLDER)/$(LIB_x32_OBJ_DIR)/$(@F) + $(MINGW_X32_CC)windres $(LCM_AUTO_DIR)/outLCM.rc $(BUILDFOLDER)/$(LIB_x32_OBJ_DIR)/$(@F) endif # @@ -238,9 +237,9 @@ $(BUILDFOLDER)/$(LIB_x64_OBJ_DIR)/lcm_version.o: $(LCM_AUTO_DIR)/lcm_version.c $(CC) $(INCLUDES) $(CFLAGS) -c $< -o $(BUILDFOLDER)/$(LIB_x64_OBJ_DIR)/$(@F) ifeq ($(BUILD_WIN),2) -$(BUILDFOLDER)/$(LIB_x64_OBJ_DIR)/%.o: out/autogen/outLCM.rc $(AUTOGEN_FILES) +$(BUILDFOLDER)/$(LIB_x64_OBJ_DIR)/%.o: $(LCM_AUTO_DIR)/outLCM.rc $(AUTOGEN_FILES) @mkdir -p $(dir $@) - $(MINGW_X64_CC)windres out/autogen/outLCM.rc $(BUILDFOLDER)/$(LIB_x64_OBJ_DIR)/$(@F) + $(MINGW_X64_CC)windres $(LCM_AUTO_DIR)/outLCM.rc $(BUILDFOLDER)/$(LIB_x64_OBJ_DIR)/$(@F) endif #Autogen files @@ -298,6 +297,9 @@ $(AUTO_DIR_LOADER)/custom_command_marshal.c: $(LCM_CUST_CONFIG)/custom_commands. $(LCM_AUTO_DIR)/lcm_version.c: ${LCM_PATH}/../source/gen_version_files.sh | setup_folders bash ${LCM_PATH}/../source/gen_version_files.sh --lcm $(abspath $(LCM_AUTO_DIR)) $(abspath $(LCM_PATH)) +$(LCM_AUTO_DIR)/outLCM.rc: ${LCM_PATH}/../source/gen_rc.sh | setup_folders + bash ${LCM_PATH}/../source/gen_rc.sh --lcm $(abspath $(LCM_AUTO_DIR)) + #setting up needed folders $(BUILDFOLDER): | configfile @mkdir -p $@ 2> /dev/null @@ -331,7 +333,8 @@ $(LCM_AUTO_DIR)/.autodirdummy : | $(LCM_AUTO_DIR) .PHONY: setup_folders setup_folders: validatevariables -setup_folders: $(AUTO_DIR_LOADER)/.autodirldrdummy $(AUTO_DIR_LIB)/.autodirlibdummy $(LCM_AUTO_DIR)/.autodirdummy $(LCMLIB_INSTALLDIR)/.libinstalldummy +setup_folders: $(BUILDFOLDER)/.builddummy $(LCMLIB_INSTALLDIR)/.libinstalldummy +setup_folders: $(AUTO_DIR_LOADER)/.autodirldrdummy $(AUTO_DIR_LIB)/.autodirlibdummy $(LCM_AUTO_DIR)/.autodirdummy @echo $< > /dev/null @@ -368,12 +371,18 @@ configfile: $(if $(wildcard $(config_file)),,config) config: LIB_x32_OBJ_DIR := x32 config: LIB_x64_OBJ_DIR := x64 config: LOADER_DIR := ./ +config: +ifeq ($(CONFIG_DIR),) + BUILDOUT := $(LCM_PATH)/out +else + BUILDOUT := $(CONFIG_DIR)/out +endif config: @echo Generating config file... @echo config_file : $(config_file) @rm -f $(config_file) @touch $(config_file) - @echo "BUILDOUT := \$$(LCM_PATH)/out" >> $(config_file) + @echo "BUILDOUT := $(BUILDOUT)" >> $(config_file) @echo "ifeq (\$$(BUILD_WIN),)" >> $(config_file) @echo "BUILDFOLDER := \$$(BUILDOUT)/out_linux" >> $(config_file) @@ -461,16 +470,15 @@ clean: $(MAKE) -C . start-clean BUILD_WIN=2 start-clean: - @rm -f $(LCM_PATH)out/autogen/outLCM.rc $(if ${BUILDFOLDER}, \ $(if ${LIB_x32_OBJ_DIR}, \ - @rm -rf ${BUILDFOLDER}/${LIB_x32_OBJ_DIR}/*.o \ + @rm -f ${BUILDFOLDER}/${LIB_x32_OBJ_DIR}/*.o \ @rm -rf ${BUILDFOLDER}/${LIB_x32_OBJ_DIR} \ @rm -rf ${BUILDFOLDER},),) ifeq ($(LBITS),64) $(if ${BUILDFOLDER}, \ $(if ${LIB_x64_OBJ_DIR}, \ - @rm -rf ${BUILDFOLDER}/${LIB_x64_OBJ_DIR}/*.o \ + @rm -f ${BUILDFOLDER}/${LIB_x64_OBJ_DIR}/*.o \ @rm -rf ${BUILDFOLDER}/${LIB_x64_OBJ_DIR} \ @rm -rf ${BUILDFOLDER},),) endif @@ -482,9 +490,11 @@ endif @rm -rf ${BUILDOUT},) distclean: clean - + $(if ${LCMLIB_INSTALLDIR}, \ @rm -f ${LCMLIB_INSTALLDIR}/LCM.dll \ @rm -f $(LCMLIB_INSTALLDIR)/LCM_x64.dll \ + @rm -f ${LCMLIB_INSTALLDIR}/liblcm.$(LIB_EXTENSION) \ + @rm -f ${LCMLIB_INSTALLDIR}/liblcm_x64.$(LIB_EXTENSION),) $(if ${LCM_AUTO_DIR}, \ @rm -rf ${LCM_AUTO_DIR},) $(if $(config_file), \ diff --git a/source/gen_rc.sh b/source/gen_rc.sh index 61400ab..abee67c 100755 --- a/source/gen_rc.sh +++ b/source/gen_rc.sh @@ -20,8 +20,9 @@ DATE="" #git revision info VERSION="" -LCD_RC_PATH=out/autogen/outLCDriver.rc -LCM_RC_PATH=out/autogen/outLCM.rc +path=$2 +LCD_RC_PATH=$path/outLCDriver.rc +LCM_RC_PATH=$path/outLCM.rc # ------------------------------INTERNAL FUNCTIONS ---------------------------- -- cgit v1.2.3