source: freewrt/rules.mk@ c57fbc9

freewrt_1_0 freewrt_2_0
Last change on this file since c57fbc9 was c57fbc9, checked in by Thorsten Glaser <tg@…>, 19 years ago

nuke DISABLE_NLS, DISABLE_LARGEFILE, replace globally
with --disable-nls and --enable-largefile, because it
doesn't make sense otherwise and/or breaks.

Requested by wbx@ in Message-ID: <20060618220406.GL6291@…>
Done using find and ed(1)

git-svn-id: svn://www.freewrt.org/trunk/freewrt@152 afb5a338-a214-0410-bd46-81f09a774fd1

  • Property mode set to 100644
File size: 4.1 KB
Line 
1include $(TOPDIR)/lbin/prereq.mk
2include $(TOPDIR)/.config
3
4ifeq ($(V),)
5V=5
6endif
7
8
9ifneq ($(V),0)
10TRACE:=echo "---> "
11START_TRACE:=echo -n "---> "
12END_TRACE:=echo
13else
14START_TRACE:=:
15END_TRACE:=:
16TRACE:=:
17endif
18
19ifeq (${shell [ "$(V)" -ge 5 ] && echo 1},)
20CMD_TRACE:=:
21PKG_TRACE:=:
22else
23CMD_TRACE:=echo -n
24PKG_TRACE:=echo "------> "
25endif
26
27ifeq (${shell [ "$(V)" -ge 10 ] && echo 1},)
28EXTRA_MAKEFLAGS:=-s
29MAKE_TRACE:=>/dev/null 2>&1 || { echo "Build failed. Please re-run make with V=99 to see what's going on"; false; }
30else
31MAKE_TRACE:=
32EXTRA_MAKEFLAGS:=
33TRACE:=:
34PKG_TRACE:=:
35CMD_TRACE:=:
36START_TRACE:=:
37END_TRACE:=:
38endif
39
40ifeq (${shell [ "$(V)" -ge 90 ] && echo 1},)
41SET_DASHX:=:
42else
43SET_DASHX:=set -x
44endif
45
46CP=cp -fpR
47MAKEFLAGS=-j$(BR2_JLEVEL) V=$(V) $(EXTRA_MAKEFLAGS)
48# Strip off the annoying quoting
49ARCH:=$(strip $(subst ",, $(BR2_ARCH)))
50WGET:=$(strip $(subst ",, $(BR2_WGET)))
51GCC_VERSION:=$(strip $(subst ",, $(BR2_GCC_VERSION)))
52GCC_USE_SJLJ_EXCEPTIONS:=$(strip $(subst ",, $(BR2_GCC_USE_SJLJ_EXCEPTIONS)))
53TARGET_OPTIMIZATION:=$(strip $(subst ",, $(BR2_TARGET_OPTIMIZATION)))
54#"))"))"))"))")) # for vim's broken syntax highlighting :)
55
56
57ifeq ($(BR2_SOFT_FLOAT),y)
58# gcc 3.4.x soft float configuration is different than previous versions.
59ifeq ($(findstring 3.4.,$(GCC_VERSION)),3.4.)
60SOFT_FLOAT_CONFIG_OPTION:=--with-float=soft
61else
62SOFT_FLOAT_CONFIG_OPTION:=--without-float
63endif
64TARGET_SOFT_FLOAT:=-msoft-float
65ARCH_FPU_SUFFIX:=_nofpu
66else
67SOFT_FLOAT_CONFIG_OPTION:=
68TARGET_SOFT_FLOAT:=
69ARCH_FPU_SUFFIX:=
70endif
71
72
73ifeq ($(BR2_TAR_VERBOSITY),y)
74TAR_OPTIONS=-xvf
75else
76TAR_OPTIONS=-xf
77endif
78
79#ifeq ($(shell which pax 2>/dev/null),)
80TAR_EXTRACT= $(TOPDIR)/lbin/tar $(TAR_OPTIONS) -
81#else
82#TAR_EXTRACT= pax -r -pma
83#endif
84
85TARGET_CFLAGS:=$(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING)
86
87OPTIMIZE_FOR_CPU=$(ARCH)
88BASE_DIR:=$(TOPDIR)
89DL_DIR:=$(BASE_DIR)/dl
90BUILD_DIR:=$(BASE_DIR)/build_$(ARCH)$(ARCH_FPU_SUFFIX)
91STAGING_DIR:=$(BASE_DIR)/staging_dir_$(ARCH)$(ARCH_FPU_SUFFIX)
92SCRIPT_DIR:=$(BASE_DIR)/scripts
93BIN_DIR:=$(BASE_DIR)/bin
94LBIN_DIR:=$(BASE_DIR)/lbin
95STAMP_DIR:=$(BUILD_DIR)/stamp
96PACKAGE_DIR:=$(BIN_DIR)/packages
97STAMP_DIR:=$(BUILD_DIR)/stamp
98TARGET_DIR:=$(BUILD_DIR)/root
99TOOL_BUILD_DIR=$(BASE_DIR)/toolchain_build_$(ARCH)$(ARCH_FPU_SUFFIX)
100TARGET_PATH=$(LBIN_DIR):$(STAGING_DIR)/usr/bin:$(STAGING_DIR)/bin:$(_PATH)
101IMAGE:=$(BUILD_DIR)/root_fs_$(ARCH)$(ARCH_FPU_SUFFIX)
102REAL_GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux-uclibc
103GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux
104KERNEL_CROSS:=$(STAGING_DIR)/bin/$(OPTIMIZE_FOR_CPU)-linux-uclibc-
105TARGET_CROSS:=$(STAGING_DIR)/bin/$(OPTIMIZE_FOR_CPU)-linux-uclibc-
106TARGET_CC:=$(TARGET_CROSS)gcc
107STRIP:=$(STAGING_DIR)/bin/$(OPTIMIZE_FOR_CPU)-linux-uclibc-strip
108PATCH=$(SCRIPT_DIR)/patch-kernel.sh
109SED:=$(STAGING_DIR)/bin/sed -i -e
110LINUX_DIR:=$(BUILD_DIR)/linux
111LINUX_HEADERS_DIR:=$(TOOL_BUILD_DIR)/linux
112
113
114HOST_ARCH:=$(shell $(HOSTCC) -dumpmachine | sed -e s'/-.*//' \
115 -e 's/sparc.*/sparc/' \
116 -e 's/arm.*/arm/g' \
117 -e 's/m68k.*/m68k/' \
118 -e 's/ppc/powerpc/g' \
119 -e 's/v850.*/v850/g' \
120 -e 's/sh[234]/sh/' \
121 -e 's/mips-.*/mips/' \
122 -e 's/mipsel-.*/mipsel/' \
123 -e 's/cris.*/cris/' \
124 -e 's/i[3-9]86/i386/' \
125 )
126TARGET_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \
127 AR=$(TARGET_CROSS)ar \
128 AS=$(TARGET_CROSS)as \
129 LD=$(TARGET_CROSS)ld \
130 NM=$(TARGET_CROSS)nm \
131 CC=$(TARGET_CROSS)gcc \
132 GCC=$(TARGET_CROSS)gcc \
133 CXX=$(TARGET_CROSS)g++ \
134 RANLIB=$(TARGET_CROSS)ranlib
135
136ifeq ($(BR2_ENABLE_MULTILIB),y)
137MULTILIB:=--enable-multilib
138endif
139
140# invoke ipkg-build with some default options
141IPKG_BUILD := PATH="$(TARGET_PATH)" ipkg-build -c -o 0 -g 0
142# where to build (and put) .ipk packages
143IPKG_TARGET_DIR := $(PACKAGE_DIR)
144IPKG:=IPKG_TMP=$(BUILD_DIR)/tmp IPKG_INSTROOT=$(TARGET_DIR) IPKG_CONF_DIR=$(STAGING_DIR)/etc IPKG_OFFLINE_ROOT=$(BUILD_DIR)/root $(SCRIPT_DIR)/ipkg -force-defaults -force-depends
145IPKG_STATE_DIR := $(TARGET_DIR)/usr/lib/ipkg
146
147RSTRIP:=STRIP="$(STRIP)" $(SCRIPT_DIR)/rstrip.sh
148RSTRIP_KMOD:=STRIP="$(TARGET_CROSS)strip --strip-unneeded --remove-section=.comment" $(SCRIPT_DIR)/rstrip.sh
149
150ifeq ($(BR2_LINUX_2_4_BRCM),y)
151UNAME_S:=Linux
152UNAME_R:=2.4.32
153UNAME_M:=mips
154#elifeq ...
155else
156$(error Unknown kernel configuration selected)
157endif
158export UNAME_S UNAME_R UNAME_M
Note: See TracBrowser for help on using the repository browser.