Browse Source

make optimiztion compiler flags configurable, default -Os -pipe

Waldemar Brodkorb 10 years ago
parent
commit
a0ad2f92a9

+ 1 - 1
mk/vars.mk

@@ -127,7 +127,7 @@ ifneq ($(ADK_DEBUG),)
 TARGET_CFLAGS+=		-g3 -fno-omit-frame-pointer
 else
 TARGET_CPPFLAGS+=	-DNDEBUG
-TARGET_CFLAGS+=		-fomit-frame-pointer $(TARGET_OPTIMIZATION)
+TARGET_CFLAGS+=		-fomit-frame-pointer $(ADK_TARGET_CFLAGS_OPT)
 # stop generating eh_frame stuff
 TARGET_CFLAGS+=		-fno-unwind-tables -fno-asynchronous-unwind-tables
 # always add debug information

+ 1 - 1
package/asterisk/Makefile

@@ -105,7 +105,7 @@ TARGET_LDFLAGS+=	-lm -ltinfo -ldl -lpthread
 MAKE_ENV=		ASTCFLAGS="${TARGET_CPPFLAGS} -DHAVE_STRTOQ" \
 			ASTLDFLAGS="${TARGET_LDFLAGS}"
 MAKE_FLAGS+=		DESTDIR="$(WRKINST)" \
-			OPTIMIZE="${TARGET_OPTIMIZATION}" \
+			OPTIMIZE="${TARGET_CFLAGS}" \
 			NOISY_BUILD=1
 ALL_TARGET:=		all install samples
 

+ 1 - 0
rules.mk

@@ -36,6 +36,7 @@ ADK_TARGET_FPU:=			$(strip $(subst ",, $(ADK_TARGET_FPU)))
 ADK_TARGET_ARM_MODE:=			$(strip $(subst ",, $(ADK_TARGET_ARM_MODE)))
 ADK_TARGET_CPU_ARCH:=			$(strip $(subst ",, $(ADK_TARGET_CPU_ARCH)))
 ADK_TARGET_CFLAGS:=			$(strip $(subst ",, $(ADK_TARGET_CFLAGS)))
+ADK_TARGET_CFLAGS_OPT:=			$(strip $(subst ",, $(ADK_TARGET_CFLAGS_OPT)))
 ADK_TARGET_ABI_CFLAGS:=			$(strip $(subst ",, $(ADK_TARGET_ABI_CFLAGS)))
 ADK_TARGET_ABI:=			$(strip $(subst ",, $(ADK_TARGET_ABI)))
 ADK_TARGET_MIPS_ABI:=			$(strip $(subst ",, $(ADK_TARGET_MIPS_ABI)))

+ 0 - 1
target/arm/target.mk

@@ -1,5 +1,4 @@
 include $(TOPDIR)/mk/kernel-ver.mk
 ARCH:=			arm
 CPU_ARCH:=		$(ADK_TARGET_CPU_ARCH)
-TARGET_OPTIMIZATION:=	-Os -pipe
 TARGET_CFLAGS_ARCH:=    $(ADK_TARGET_CFLAGS)

+ 7 - 0
target/config/Config.in.adk

@@ -19,6 +19,13 @@ config ADK_DL_DIR
 	  Configure the download directory for all source packages.
 	  Use an absolute path.
 
+config ADK_TARGET_CFLAGS_OPT
+	string "optimization flags for compiler"
+	default "-Os -pipe"
+	help
+	  Compilation is only verfied with optimization for code size (Os).
+	  Other stuff (O2) might break. Will not be used when ADK_DEBUG is on.
+
 config ADK_DEBUG
 	bool "Compile applications with debug support by default"
 	default n

+ 0 - 1
target/m68k/target.mk

@@ -1,5 +1,4 @@
 include $(TOPDIR)/mk/kernel-ver.mk
 ARCH:=			m68k
 CPU_ARCH:=		$(ADK_TARGET_CPU_ARCH)
-TARGET_OPTIMIZATION:=	-Os -pipe
 TARGET_CFLAGS_ARCH:=    $(ADK_TARGET_CFLAGS)

+ 0 - 1
target/microblaze/target.mk

@@ -1,5 +1,4 @@
 include $(TOPDIR)/mk/kernel-ver.mk
 ARCH:=			microblaze
 CPU_ARCH:=		$(ADK_TARGET_CPU_ARCH)
-TARGET_OPTIMIZATION:=	-Os -pipe
 TARGET_CFLAGS_ARCH:=    $(ADK_TARGET_CFLAGS)

+ 0 - 1
target/mips/target.mk

@@ -1,5 +1,4 @@
 include $(TOPDIR)/mk/kernel-ver.mk
 ARCH:=			mips
 CPU_ARCH:=		$(ADK_TARGET_CPU_ARCH)
-TARGET_OPTIMIZATION:=	-Os -pipe
 TARGET_CFLAGS_ARCH:=    $(ADK_TARGET_CFLAGS)

+ 0 - 1
target/ppc/target.mk

@@ -1,5 +1,4 @@
 include $(TOPDIR)/mk/kernel-ver.mk
 ARCH:=			powerpc
 CPU_ARCH:=		ppc
-TARGET_OPTIMIZATION:=	-Os -pipe
 TARGET_CFLAGS_ARCH:=	$(ADK_TARGET_CFLAGS) -Wl,--secure-plt

+ 0 - 1
target/ppc64/target.mk

@@ -1,5 +1,4 @@
 include $(TOPDIR)/mk/kernel-ver.mk
 ARCH:=			powerpc
 CPU_ARCH:=		ppc64
-TARGET_OPTIMIZATION:=	-Os -pipe
 TARGET_CFLAGS_ARCH:=	$(ADK_TARGET_CFLAGS)

+ 0 - 1
target/sh/target.mk

@@ -1,5 +1,4 @@
 include $(TOPDIR)/mk/kernel-ver.mk
 ARCH:=			sh
 CPU_ARCH:=		$(ADK_TARGET_CPU_ARCH)
-TARGET_OPTIMIZATION:=	-Os -pipe
 TARGET_CFLAGS_ARCH:=    $(ADK_TARGET_CFLAGS)

+ 0 - 1
target/sparc/target.mk

@@ -1,5 +1,4 @@
 include $(TOPDIR)/mk/kernel-ver.mk
 ARCH:=			sparc
 CPU_ARCH:=		sparc
-TARGET_OPTIMIZATION:=	-Os -pipe
 TARGET_CFLAGS_ARCH:=    $(ADK_TARGET_CFLAGS)

+ 0 - 1
target/sparc64/target.mk

@@ -1,5 +1,4 @@
 include $(TOPDIR)/mk/kernel-ver.mk
 ARCH:=			sparc
 CPU_ARCH:=		sparc64
-TARGET_OPTIMIZATION:=	-Os -pipe
 TARGET_CFLAGS_ARCH:=    $(ADK_TARGET_CFLAGS)

+ 0 - 1
target/x86/target.mk

@@ -1,5 +1,4 @@
 include $(TOPDIR)/mk/kernel-ver.mk
 ARCH:=			x86
 CPU_ARCH:=		$(strip $(subst ",, $(ADK_TARGET_CPU_ARCH)))
-TARGET_OPTIMIZATION:=	-Os -pipe
 TARGET_CFLAGS_ARCH:=	$(ADK_TARGET_CFLAGS)

+ 0 - 1
target/x86_64/target.mk

@@ -1,5 +1,4 @@
 include $(TOPDIR)/mk/kernel-ver.mk
 ARCH:=			x86
 CPU_ARCH:=		x86_64
-TARGET_OPTIMIZATION:=	-Os -pipe
 TARGET_CFLAGS_ARCH:=    $(ADK_TARGET_CFLAGS)

+ 9 - 6
toolchain/musl/Makefile

@@ -12,6 +12,7 @@ endif
 
 $(WRKBUILD)/.headers:
 	(cd $(WRKBUILD); CC='$(TARGET_CC)' CROSS_COMPILE='$(TARGET_CROSS)' \
+		CFLAGS='$(TARGET_CFLAGS)' \
 		./configure --prefix=/usr \
 		--target=$(GNU_TARGET_NAME) \
 		--disable-gcc-wrapper \
@@ -22,29 +23,31 @@ $(WRKBUILD)/.headers:
 
 $(WRKBUILD)/.compiled:
 	# reconfigure musl, otherwise linking with libgcc or libgcc_eh is disabled
-	$(MAKE) CFLAGS='$(TARGET_CFLAGS)' -C $(WRKBUILD) clean
+	$(MAKE) -C $(WRKBUILD) clean
 	(cd $(WRKBUILD); CC='$(TARGET_CC)' CROSS_COMPILE='$(TARGET_CROSS)' \
+		CFLAGS='$(TARGET_CFLAGS)' \
 		./configure --prefix=/usr \
 		--target=$(GNU_TARGET_NAME) \
 		--disable-gcc-wrapper \
 	)
-	$(MAKE) CFLAGS='$(TARGET_CFLAGS)' -C $(WRKBUILD) all
+	$(MAKE) -C $(WRKBUILD) CFLAGS='$(TARGET_CFLAGS)' all
 	touch $@
 
 $(WRKBUILD)/.installed: $(WRKBUILD)/.compiled
-	$(MAKE) -C $(WRKBUILD) DESTDIR=$(STAGING_TARGET_DIR) install
+	$(MAKE) -C $(WRKBUILD) CFLAGS='$(TARGET_CFLAGS)' DESTDIR=$(STAGING_TARGET_DIR) install
 	touch $@
 
 $(WRKBUILD)/.fixup:
 	# reconfigure musl, otherwise linking with libgcc or libgcc_eh is disabled
-	$(MAKE) CFLAGS='$(TARGET_CFLAGS)' -C $(WRKBUILD) clean
+	$(MAKE) -C $(WRKBUILD) clean
 	(cd $(WRKBUILD); CC='$(TARGET_CC)' CROSS_COMPILE='$(TARGET_CROSS)' \
+		CFLAGS='$(TARGET_CFLAGS)' \
 		./configure --prefix=/usr \
 		--target=$(GNU_TARGET_NAME) \
 		--disable-gcc-wrapper \
 	)
-	$(MAKE) CFLAGS='$(TARGET_CFLAGS)' -C $(WRKBUILD) all
-	$(MAKE) -C $(WRKBUILD) DESTDIR=$(STAGING_TARGET_DIR) install
+	$(MAKE) -C $(WRKBUILD) CFLAGS='$(TARGET_CFLAGS)' all
+	$(MAKE) -C $(WRKBUILD) CFLAGS='$(TARGET_CFLAGS)' DESTDIR=$(STAGING_TARGET_DIR) install
 	# cleanup toolchain
 	-find $(STAGING_TARGET_DIR) $(STAGING_HOST_DIR) -name \*.la -delete
 ifeq ($(ADK_TOOLCHAIN),y)