Browse Source

optimize environment variables, reduce duplicate stuff

Waldemar Brodkorb 10 years ago
parent
commit
224199c2a0
12 changed files with 65 additions and 81 deletions
  1. 2 2
      Makefile
  2. 1 1
      mk/build.mk
  3. 7 17
      mk/host.mk
  4. 11 29
      mk/package.mk
  5. 31 17
      mk/vars.mk
  6. 1 1
      package/Makefile
  7. 2 2
      package/adk-helper/Makefile
  8. 1 1
      package/mkimage/Makefile
  9. 2 1
      package/python2/Makefile
  10. 2 1
      package/util-linux/Makefile
  11. 1 1
      scripts/scan-tools.sh
  12. 4 8
      toolchain/Makefile

+ 2 - 2
Makefile

@@ -201,8 +201,8 @@ NO_ERROR=0
 	    -e 's/mipsel-.*/mipsel/' \
 	    -e 's/i[3-9]86/x86/' \
 	    )" >>prereq.mk
-	@echo 'CC_FOR_BUILD:=${CC}' >>prereq.mk
-	@echo 'CXX_FOR_BUILD:=${CXX}' >>prereq.mk
+	@echo 'HOST_CC:=${CC}' >>prereq.mk
+	@echo 'HOST_CXX:=${CXX}' >>prereq.mk
 	@echo 'LANGUAGE:=C' >>prereq.mk
 	@echo 'LC_ALL:=C' >>prereq.mk
 	@echo 'MAKE:=$${GMAKE}' >>prereq.mk

+ 1 - 1
mk/build.mk

@@ -282,7 +282,7 @@ ifeq ($(filter-out distclean,${MAKECMDGOALS}),)
 include ${TOPDIR}/mk/vars.mk
 else
 include $(TOPDIR)/prereq.mk
-export BASH MAKE LANGUAGE LC_ALL OStype PATH CC_FOR_BUILD QEMU SHELL
+export BASH MAKE LANGUAGE LC_ALL OStype PATH QEMU SHELL
 endif
 
 all: menuconfig

+ 7 - 17
mk/host.mk

@@ -6,17 +6,13 @@ ifneq (,$(findstring host,$(MAKECMDGOALS)))
 WRKDIR?=		${HOST_BUILD_DIR}/w-${PKG_NAME}-${PKG_VERSION}-${PKG_RELEASE}-host
 endif
 
-HOST_CONFIGURE_ENV+=	PATH='${HOST_PATH}' \
-			AUTOM4TE=${STAGING_HOST_DIR}/usr/bin/autom4te \
-			CONFIG_SHELL='$(strip ${SHELL})' \
+# this is environment for 'configure'
+HOST_CONFIGURE_ENV?=	PATH='${HOST_PATH}' \
+			${COMMON_ENV} \
+			${HOST_ENV} \
 			PKG_CONFIG_LIBDIR='${STAGING_HOST_DIR}/usr/lib/pkgconfig:${STAGING_HOST_DIR}/usr/share/pkgconfig' \
 			PKG_CONFIG_SYSROOT_DIR='${STAGING_HOST_DIR}' \
-			PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
-			CC='$(strip ${CC_FOR_BUILD})' \
-			CFLAGS='$(strip ${CFLAGS_FOR_BUILD})' \
-			CXXFLAGS='$(strip ${CXXFLAGS_FOR_BUILD})' \
-			CPPFLAGS='$(strip ${CPPFLAGS_FOR_BUILD})' \
-			LDFLAGS='$(strip ${LDFLAGS_FOR_BUILD})'
+			PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1
 
 # this is environment for 'make all' and 'make install'
 HOST_MAKE_ENV?=
@@ -30,14 +26,8 @@ HOST_ALL_TARGET?=	all
 HOST_INSTALL_TARGET?=	install
 
 HOST_MAKE_ENV+=		PATH='${HOST_PATH}' \
-			PKG_CONFIG_LIBDIR='${STAGING_HOST_DIR}/usr/lib/pkgconfig:${STAGING_HOST_DIR}/usr/share/pkgconfig' \
-			PKG_CONFIG_SYSROOT_DIR='${STAGING_HOST_DIR}' \
-			PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
-			CC='$(strip ${CC_FOR_BUILD})' \
-			CFLAGS='$(strip ${CFLAGS_FOR_BUILD})' \
-			CXXFLAGS='$(strip ${CXXFLAGS_FOR_BUILD})' \
-			CPPFLAGS='$(strip ${CPPFLAGS_FOR_BUILD})' \
-			LDFLAGS='$(strip ${LDFLAGS_FOR_BUILD})'
+			${COMMON_ENV} \
+			${HOST_ENV}
 HOST_MAKE_FLAGS+=	${HOST_XAKE_FLAGS} V=1
 HOST_FAKE_FLAGS+=	${HOST_XAKE_FLAGS}
 

+ 11 - 29
mk/package.mk

@@ -10,28 +10,18 @@ CONFIGURE_ARGS+=	--enable-debug
 endif
 endif
 
-AUTOTOOL_ENV+=		PATH='${AUTOTOOL_PATH}' \
-			AUTOM4TE='${STAGING_HOST_DIR}/usr/bin/autom4te' \
-			M4='${STAGING_HOST_DIR}/usr/bin/m4' \
-			LIBTOOLIZE='${STAGING_HOST_DIR}/usr/bin/libtoolize -q'
+AUTOTOOL_ENV+=		PATH='${HOST_PATH}' \
+			${COMMON_ENV}
 
 CONFIGURE_ENV+=		PATH='${TARGET_PATH}' \
-			GCC_HONOUR_COPTS=s \
-			AUTOM4TE=${STAGING_HOST_DIR}/usr/bin/autom4te \
-			M4='${STAGING_HOST_DIR}/usr/bin/m4' \
-			LIBTOOLIZE='${STAGING_HOST_DIR}/usr/bin/libtoolize -q' \
-			CONFIG_SHELL='$(strip ${SHELL})' \
-			CFLAGS='$(strip ${TARGET_CFLAGS})' \
-			CXXFLAGS='$(strip ${TARGET_CXXFLAGS})' \
-			CPPFLAGS='$(strip ${TARGET_CPPFLAGS})' \
-			LDFLAGS='$(strip ${TARGET_LDFLAGS})' \
+			${COMMON_ENV} \
+			${TARGET_ENV} \
 			PKG_CONFIG_LIBDIR='${STAGING_TARGET_DIR}/usr/lib/pkgconfig:${STAGING_TARGET_DIR}/usr/share/pkgconfig' \
 			PKG_CONFIG_SYSROOT_DIR='${STAGING_TARGET_DIR}' \
+			GCC_HONOUR_COPTS=s \
 			ac_cv_func_realloc_0_nonnull=yes \
 			ac_cv_func_malloc_0_nonnull=yes \
-			cross_compiling=yes \
-			${HOST_CONFIGURE_OPTS} \
-			${TARGET_CONFIGURE_OPTS}
+			cross_compiling=yes
 
 CONFIGURE_PROG?=	configure
 MAKE_FILE?=		Makefile
@@ -46,20 +36,12 @@ FAKE_FLAGS?=
 ALL_TARGET?=		all
 INSTALL_TARGET?=	install
 
-MAKE_ENV+=		$(GCC_CHECK) \
-			PATH='${TARGET_PATH}' \
-			LIBTOOLIZE='${STAGING_HOST_DIR}/usr/bin/libtoolize -q' \
-			M4='${STAGING_HOST_DIR}/usr/bin/m4' \
+MAKE_ENV+=		PATH='${TARGET_PATH}' \
+			${COMMON_ENV} \
+			${TARGET_ENV} \
+			$(GCC_CHECK) \
 			WRKDIR='${WRKDIR}' WRKDIST='${WRKDIST}' \
-			WRKSRC='${WRKSRC}' WRKBUILD='${WRKBUILD}' \
-			CFLAGS='$(strip ${TARGET_CFLAGS})' \
-			CXXFLAGS='$(strip ${TARGET_CXXFLAGS})' \
-			CPPFLAGS='$(strip ${TARGET_CPPFLAGS})' \
-			LDFLAGS='$(strip ${TARGET_LDFLAGS})' \
-			PKG_CONFIG_LIBDIR='${STAGING_TARGET_DIR}/usr/lib/pkgconfig:${STAGING_TARGET_DIR}/usr/share/pkgconfig' \
-			PKG_CONFIG_SYSROOT_DIR='${STAGING_TARGET_DIR}' \
-			${HOST_CONFIGURE_OPTS} \
-			${TARGET_CONFIGURE_OPTS}
+			WRKSRC='${WRKSRC}' WRKBUILD='${WRKBUILD}'
 
 MAKE_FLAGS+=		${XAKE_FLAGS} V=1
 FAKE_FLAGS+=		${XAKE_FLAGS}

+ 31 - 17
mk/vars.mk

@@ -171,11 +171,11 @@ TARGET_CXXFLAGS+=	-marm
 endif
 endif
 
-# host compiler flags
-CPPFLAGS_FOR_BUILD:=	-I$(STAGING_HOST_DIR)/usr/include
-CFLAGS_FOR_BUILD:=	-O0 -g0
-CXXFLAGS_FOR_BUILD:=    -O0 -g0
-LDFLAGS_FOR_BUILD:= 	-L$(STAGING_HOST_DIR)/usr/lib -Wl,-rpath -Wl,${STAGING_HOST_DIR}/usr/lib
+# host compiler and linker flags
+HOST_CPPFLAGS:=		-I$(STAGING_HOST_DIR)/usr/include
+HOST_CFLAGS:=		-O0 -g0
+HOST_CXXFLAGS:=		-O0 -g0
+HOST_LDFLAGS:=		-L$(STAGING_HOST_DIR)/usr/lib -Wl,-rpath -Wl,${STAGING_HOST_DIR}/usr/lib
 
 PATCH=			PATH=${HOST_PATH} ${BASH} $(SCRIPT_DIR)/patch.sh
 PATCHP0=		PATH=${HOST_PATH} patch -p0
@@ -190,26 +190,40 @@ KERNEL_MODULE_FLAGS:=	ARCH=${ADK_TARGET_ARCH} \
 			CFLAGS_MODULE="-fhonour-copts" \
 			V=1
 
-TARGET_CONFIGURE_OPTS=	PATH='${TARGET_PATH}' \
-			AR='$(TARGET_CROSS)ar' \
+COMMON_ENV=		CONFIG_SHELL='$(strip ${SHELL})' \
+			AUTOM4TE='${STAGING_HOST_DIR}/usr/bin/autom4te' \
+			M4='${STAGING_HOST_DIR}/usr/bin/m4' \
+			LIBTOOLIZE='${STAGING_HOST_DIR}/usr/bin/libtoolize -q'
+			
+TARGET_ENV=		AR='$(TARGET_CROSS)ar' \
 			AS='$(TARGET_CROSS)as' \
 			LD='$(TARGET_CROSS)ld' \
 			NM='$(TARGET_CROSS)nm' \
 			RANLIB='$(TARGET_CROSS)ranlib' \
-			STRIP='${TARGET_CROSS}strip' \
-			OBJCOPY='${TARGET_CROSS}objcopy' \
+			STRIP='$(TARGET_CROSS)strip' \
+			OBJCOPY='$(TARGET_CROSS)objcopy' \
 			CC='$(TARGET_CC)' \
 			GCC='$(TARGET_CC)' \
 			CXX='$(TARGET_CXX)' \
 			CROSS='$(TARGET_CROSS)' \
-			CROSS_COMPILE='$(TARGET_CROSS)'
-
-HOST_CONFIGURE_OPTS=	CC_FOR_BUILD='${CC_FOR_BUILD}' \
-			CXX_FOR_BUILD='${CXX_FOR_BUILD}' \
-			CPPFLAGS_FOR_BUILD='${CPPFLAGS_FOR_BUILD}' \
-			CFLAGS_FOR_BUILD='${CFLAGS_FOR_BUILD}' \
-			CXXFLAGS_FOR_BUILD='${CXXFLAGS_FOR_BUILD}' \
-			LDFLAGS_FOR_BUILD='${LDFLAGS_FOR_BUILD}'
+			CROSS_COMPILE='$(TARGET_CROSS)' \
+			CFLAGS='$(TARGET_CFLAGS)' \
+			CXXFLAGS='$(TARGET_CXXFLAGS)' \
+			CPPFLAGS='$(TARGET_CPPFLAGS)' \
+			LDFLAGS='$(TARGET_LDFLAGS)'
+			CC_FOR_BUILD='$(HOST_CC)' \
+			CXX_FOR_BUILD='$(HOST_CXX)' \
+			CPPFLAGS_FOR_BUILD='$(HOST_CPPFLAGS)' \
+			CFLAGS_FOR_BUILD='$(HOST_CFLAGS)' \
+			CXXFLAGS_FOR_BUILD='$(HOST_CXXFLAGS)' \
+			LDFLAGS_FOR_BUILD='$(HOST_LDFLAGS)'
+
+HOST_ENV=		CC='$(HOST_CC)' \
+			CXX='$(HOST_CXX)' \
+			CPPFLAGS='$(HOST_CPPFLAGS)' \
+			CFLAGS='$(HOST_CFLAGS)' \
+			CXXFLAGS='$(HOST_CXXFLAGS)' \
+			LDFLAGS='$(HOST_LDFLAGS)'
 
 PKG_SUFFIX:=		$(strip $(subst ",, $(ADK_PACKAGE_SUFFIX)))
 

+ 1 - 1
package/Makefile

@@ -55,7 +55,7 @@ endif
 
 %-compile:
 	$(START_TRACE) "package/$(patsubst %-compile,%,$@)-compile: "
-	if test -f $(TOPDIR)/.rebuild.$(patsubst %-compile,%,$@); then \
+	@if test -f $(TOPDIR)/.rebuild.$(patsubst %-compile,%,$@); then \
 		$(MAKE) -C $(patsubst %-compile,%,$@) clean ; \
 		rm $(TOPDIR)/.rebuild.$(patsubst %-compile,%,$@) ; \
 	fi

+ 2 - 2
package/adk-helper/Makefile

@@ -21,8 +21,8 @@ $(eval $(call HOST_template,ADK_HELPER,adk-helper,${PKG_VERSION}-${PKG_RELEASE})
 HOST_STYLE:=		manual
 
 host-build:
-	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o ${WRKBUILD}/mkcrypt ${WRKBUILD}/mkcrypt.c
-	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o ${WRKBUILD}/dkgetsz ${WRKBUILD}/dkgetsz.c
+	$(HOST_CC) $(HOST_CFLAGS) -o ${WRKBUILD}/mkcrypt ${WRKBUILD}/mkcrypt.c
+	$(HOST_CC) $(HOST_CFLAGS) -o ${WRKBUILD}/dkgetsz ${WRKBUILD}/dkgetsz.c
 
 adk-helper-hostinstall:
 	${INSTALL_DIR} ${STAGING_HOST_DIR}/usr/bin

+ 1 - 1
package/mkimage/Makefile

@@ -22,7 +22,7 @@ $(eval $(call HOST_template,MKIMAGE,mkimage,$(PKG_VERSION)-${PKG_RELEASE}))
 HOST_STYLE:=		manual
 
 host-build:
-	$(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) -o ${WRKBUILD}/mkimage \
+	$(HOST_CC) $(HOST_CFLAGS) -o ${WRKBUILD}/mkimage \
 		${WRKBUILD}/mkimage.c ${WRKBUILD}/crc32.c
 
 mkimage-hostinstall:

+ 2 - 1
package/python2/Makefile

@@ -85,6 +85,8 @@ $(eval $(call PKG_mod_template,PYTHON2_MOD_NCURSES,_curses))
 $(eval $(call PKG_mod_template,PYTHON2_MOD_SSL,_ssl))
 $(eval $(call PKG_mod_template,PYTHON2_MOD_READLINE,readline))
 
+HOST_CFLAGS+=		-fPIC
+
 AUTOTOOL_STYLE:=	autoreconf
 MAKE_ENV+=		HOSTPGEN=$(STAGING_HOST_DIR)/usr/bin/pgen
 CONFIGURE_ENV+=         ac_cv_have_long_long_format=yes \
@@ -101,7 +103,6 @@ HOST_CONFIGURE_ARGS+=	--with-threads \
 			--disable-shared \
 			--disable-toolbox-glue \
 			--without-cxx-main
-CFLAGS_FOR_BUILD+=	-fPIC
 
 hostpre-configure:
 	$(CP) $(TOPDIR)/package/python2/files/patch-Lib_distutils_sysconfig_py $(WRKBUILD)

+ 2 - 1
package/util-linux/Makefile

@@ -57,6 +57,8 @@ $(eval $(call PKG_template,LIBUUID,libuuid,${PKG_VERSION}-${PKG_RELEASE},${PKG_D
 $(eval $(call PKG_template,LIBBLKID,libblkid,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LIBBLKID},${PKGSC_LIBBLKID}))
 $(eval $(call PKG_template,LIBMOUNT,libmount,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_LIBMOUNT},${PKGSC_LIBMOUNT}))
 
+TARGET_CFLAGS+=		-DSWAPON_HAS_TWO_ARGS -DHAVE_LLSEEK
+TARGET_LDFLAGS+=	-ltinfo
 CONFIGURE_ENV+=		have_scanf_alloc_modifier=yes \
 			scanf_cv_alloc_modifier=ms
 CONFIGURE_ARGS+=	--disable-use-tty-group \
@@ -72,7 +74,6 @@ CONFIGURE_ARGS+=	--disable-use-tty-group \
 			--with-ncurses=$(STAGING_TARGET_DIR)/usr/include \
 			--libdir=/usr/lib
 FAKE_FLAGS+=		INSTALLSUID="install -m 4755"
-TARGET_CFLAGS+=		-DSWAPON_HAS_TWO_ARGS -DHAVE_LLSEEK -ltinfo
 
 fdisk-install:
 	${INSTALL_DIR} ${IDIR_FDISK}/usr/sbin

+ 1 - 1
scripts/scan-tools.sh

@@ -82,7 +82,7 @@ include ${TOPDIR}/prereq.mk
 all: run-test
 
 test: test.c
-	${CC_FOR_BUILD} ${CFLAGS_FOR_BUILD} -o $@ $^ ${LDADD}
+	${HOST_CC} -o $@ $^ ${LDADD}
 
 run-test: test
 	./test

+ 4 - 8
toolchain/Makefile

@@ -57,8 +57,7 @@ $(CLIB)-fixup: gcc-install gdb-install
 		    $(MAKE_TRACE); \
 	else \
 		$(MAKE) -C $(patsubst %-prepare,%,$@) prepare \
-		    CC='$(CC_FOR_BUILD)' CFLAGS='$(CFLAGS_FOR_BUILD)' \
-		    $(MAKE_TRACE); \
+		    CC='$(HOST_CC)' CFLAGS='$(HOST_CFLAGS)' $(MAKE_TRACE); \
 	fi
 
 %-configure: %-prepare
@@ -68,8 +67,7 @@ $(CLIB)-fixup: gcc-install gdb-install
 		    $(MAKE_TRACE); \
 	else \
 		$(MAKE) -C $(patsubst %-configure,%,$@) configure \
-		    CC='$(CC_FOR_BUILD)' CFLAGS='$(CFLAGS_FOR_BUILD)' \
-		    $(MAKE_TRACE); \
+		    CC='$(HOST_CC)' CFLAGS='$(HOST_CFLAGS)' $(MAKE_TRACE); \
 	fi
 
 %-compile: %-configure
@@ -79,8 +77,7 @@ $(CLIB)-fixup: gcc-install gdb-install
 		    $(MAKE_TRACE); \
 	else \
 		$(MAKE) -C $(patsubst %-compile,%,$@) compile \
-		    CC='$(CC_FOR_BUILD)' CFLAGS='$(CFLAGS_FOR_BUILD)' \
-		    $(MAKE_TRACE); \
+		    CC='$(HOST_CC)' CFLAGS='$(HOST_CFLAGS)' $(MAKE_TRACE); \
 	fi
 
 %-install: %-compile
@@ -90,8 +87,7 @@ $(CLIB)-fixup: gcc-install gdb-install
 		    $(MAKE_TRACE); \
 	else \
 		$(MAKE) -C $(patsubst %-install,%,$@) install \
-		    CC='$(CC_FOR_BUILD)' CFLAGS='$(CFLAGS_FOR_BUILD)' \
-		    $(MAKE_TRACE); \
+		    CC='$(HOST_CC)' CFLAGS='$(HOST_CFLAGS)' $(MAKE_TRACE); \
 	fi
 
 %-fixup: %-install