X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/3746779982e63c0106e0fb7b2ece03eb617b757e..afb3c4be87e4be8e77f30070167eccd28b50cd79:/rules.mk diff --git a/rules.mk b/rules.mk index 5b411183c..614feb6fc 100644 --- a/rules.mk +++ b/rules.mk @@ -1,9 +1,10 @@ -# -# Copyright (C) 2006-2007 OpenWrt.org +# +# Copyright (C) 2006-2008 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # +# $Id$ ifneq ($(__rules_inc),1) __rules_inc=1 @@ -27,8 +28,9 @@ empty:= space:= $(empty) $(empty) merge=$(subst $(space),,$(1)) confvar=$(call merge,$(foreach v,$(1),$(if $($(v)),y,n))) +strip_last=$(patsubst %.$(lastword $(subst .,$(space),$(1))),%,$(1)) -_SINGLE=MAKEFLAGS=$(space) +_SINGLE=export MAKEFLAGS=$(space); ARCH:=$(call qstrip,$(shell echo $(CONFIG_ARCH) | sed -e 's/i[3-9]86/i386/')) BOARD:=$(call qstrip,$(CONFIG_TARGET_BOARD)) TARGET_OPTIMIZATION:=$(call qstrip,$(CONFIG_TARGET_OPTIMIZATION)) @@ -38,6 +40,12 @@ SUBDIR:=$(patsubst $(TOPDIR)/%,%,${CURDIR}) OPTIMIZE_FOR_CPU=$(ARCH) +ifeq ($(ARCH),powerpc) + FPIC:=-fPIC +else + FPIC:=-fpic +endif + DL_DIR:=$(if $(call qstrip,$(CONFIG_DOWNLOAD_FOLDER)),$(call qstrip,$(CONFIG_DOWNLOAD_FOLDER)),$(TOPDIR)/dl) BIN_DIR:=$(TOPDIR)/bin INCLUDE_DIR:=$(TOPDIR)/include @@ -56,7 +64,7 @@ TARGET_DIR:=$(BUILD_DIR)/root-$(BOARD) IPKG_STATE_DIR:=$(TARGET_DIR)/usr/lib/ipkg TARGET_PATH:=$(TOOLCHAIN_DIR)/bin:$(STAGING_DIR_HOST)/bin:$(STAGING_DIR)/host/bin:$(PATH) -TARGET_CFLAGS:=$(TARGET_OPTIMIZATION) +TARGET_CFLAGS:=$(TARGET_OPTIMIZATION)$(if $(CONFIG_DEBUG), -g3) TARGET_CPPFLAGS:=-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include TARGET_LDFLAGS:=-L$(TOOLCHAIN_DIR)/lib -L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib @@ -90,6 +98,7 @@ HOST_CFLAGS:=-O2 -I$(STAGING_DIR_HOST)/include HOST_LDFLAGS:=-L$(STAGING_DIR_HOST)/lib TARGET_CC:=$(TARGET_CROSS)gcc +TARGET_CXX:=$(TARGET_CROSS)g++ STRIP:=$(STAGING_DIR_HOST)/bin/sstrip PATCH:=$(SCRIPT_DIR)/patch-kernel.sh SED:=$(STAGING_DIR_HOST)/bin/sed -i -e @@ -113,7 +122,7 @@ TARGET_CONFIGURE_OPTS:= \ NM=$(TARGET_CROSS)nm \ CC="$(TARGET_CC)" \ GCC="$(TARGET_CC)" \ - CXX=$(TARGET_CROSS)g++ \ + CXX="$(TARGET_CXX)" \ RANLIB=$(TARGET_CROSS)ranlib \ STRIP=$(TARGET_CROSS)strip \ OBJCOPY=$(TARGET_CROSS)objcopy \ @@ -121,7 +130,7 @@ TARGET_CONFIGURE_OPTS:= \ SIZE=$(TARGET_CROSS)size # strip an entire directory -ifneq ($(CONFIG_BUILD_DEVELOPER_SYSTEM),) +ifneq ($(CONFIG_NO_STRIP),) RSTRIP:=: else RSTRIP:= \