source: freewrt/rules.mk@ c746a832

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

make this more readable

only whitespace and comment changes

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

  • Property mode set to 100644
File size: 4.3 KB
Line 
1# $FreeWRT$
2
3include $(TOPDIR)/lbin/prereq.mk
4include $(TOPDIR)/.config
5
6ifeq ($(V),)
7V= 5
8endif
9
10
11ifneq ($(V),0)
12TRACE:= echo "---> "
13START_TRACE:= echo -n "---> "
14END_TRACE:= echo
15else
16START_TRACE:= :
17END_TRACE:= :
18TRACE:= :
19endif
20
21ifeq (${shell [ "$(V)" -ge 5 ] && echo 1},)
22CMD_TRACE:= :
23PKG_TRACE:= :
24else
25CMD_TRACE:= echo -n
26PKG_TRACE:= echo "------> "
27endif
28
29ifeq (${shell [ "$(V)" -ge 10 ] && echo 1},)
30EXTRA_MAKEFLAGS:= -s
31MAKE_TRACE:= >/dev/null 2>&1 || { echo "Build failed. Please re-run make with V=99 to see what's going on"; false; }
32else
33MAKE_TRACE:=
34EXTRA_MAKEFLAGS:=
35TRACE:= :
36PKG_TRACE:= :
37CMD_TRACE:= :
38START_TRACE:= :
39END_TRACE:= :
40endif
41
42ifeq (${shell [ "$(V)" -ge 90 ] && echo 1},)
43SET_DASHX:= :
44else
45SET_DASHX:= set -x
46endif
47
48CP= cp -fpR
49INSTALL_DIR= install -d -m0755
50INSTALL_DATA= install -m0644
51INSTALL_BIN= install -m0755
52MAKEFLAGS= -j$(BR2_JLEVEL) V=$(V) $(EXTRA_MAKEFLAGS)
53# Strip off the annoying quoting
54ARCH:= $(strip $(subst ",, $(BR2_ARCH)))
55WGET:= $(strip $(subst ",, $(BR2_WGET)))
56TARGET_OPTIMIZATION:= $(strip $(subst ",, $(BR2_TARGET_OPTIMIZATION)))
57#"))"))"))"))")) # for vim's broken syntax highlighting :)
58
59TARGET_CFLAGS:= $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING)
60OPTIMIZE_FOR_CPU= $(ARCH)
61
62BASE_DIR:= $(TOPDIR)
63DL_DIR:= $(BASE_DIR)/dl
64BUILD_DIR:= $(BASE_DIR)/build_$(ARCH)$(ARCH_FPU_SUFFIX)
65STAGING_DIR:= $(BASE_DIR)/staging_dir_$(ARCH)$(ARCH_FPU_SUFFIX)
66TOOLCHAIN_BUILD_DIR= $(BASE_DIR)/toolchain_build_$(ARCH)$(ARCH_FPU_SUFFIX)
67TOOLCHAIN_STAMP_DIR:= $(STAGING_DIR)/stamp
68TOOLS_DIR= $(BASE_DIR)/tools
69TOOLS_BUILD_DIR= $(BASE_DIR)/tools_build
70TOOLS_STAMP_DIR:= $(STAGING_DIR)/stamp
71SCRIPT_DIR:= $(BASE_DIR)/scripts
72BIN_DIR:= $(BASE_DIR)/bin
73LBIN_DIR:= $(BASE_DIR)/lbin
74PACKAGE_DIR:= $(BIN_DIR)/packages
75STAMP_DIR:= $(BUILD_DIR)/stamp
76TARGET_DIR:= $(BUILD_DIR)/root
77TARGET_PATH= $(LBIN_DIR):$(STAGING_DIR)/usr/bin:$(STAGING_DIR)/bin:$(_PATH)
78IMAGE:= $(BUILD_DIR)/root_fs_$(ARCH)$(ARCH_FPU_SUFFIX)
79REAL_GNU_TARGET_NAME= $(OPTIMIZE_FOR_CPU)-linux-uclibc
80GNU_TARGET_NAME= $(OPTIMIZE_FOR_CPU)-linux
81KERNEL_CROSS:= $(STAGING_DIR)/bin/$(OPTIMIZE_FOR_CPU)-linux-uclibc-
82TARGET_CROSS:= $(STAGING_DIR)/bin/$(OPTIMIZE_FOR_CPU)-linux-uclibc-
83TARGET_CC:= $(TARGET_CROSS)gcc
84STRIP:= $(STAGING_DIR)/bin/$(OPTIMIZE_FOR_CPU)-linux-uclibc-strip
85PATCH= $(SCRIPT_DIR)/patch-kernel.sh
86SED:= $(STAGING_DIR)/bin/sed -i -e
87LINUX_DIR:= $(BUILD_DIR)/linux
88LINUX_HEADERS_DIR:= $(TOOLCHAIN_BUILD_DIR)/linux
89
90
91HOST_ARCH:= $(shell $(HOSTCC) -dumpmachine | sed -e s'/-.*//' \
92 -e 's/sparc.*/sparc/' \
93 -e 's/arm.*/arm/g' \
94 -e 's/m68k.*/m68k/' \
95 -e 's/ppc/powerpc/g' \
96 -e 's/v850.*/v850/g' \
97 -e 's/sh[234]/sh/' \
98 -e 's/mips-.*/mips/' \
99 -e 's/mipsel-.*/mipsel/' \
100 -e 's/cris.*/cris/' \
101 -e 's/i[3-9]86/i386/' \
102 )
103
104TARGET_CONFIGURE_OPTS= PATH=$(TARGET_PATH) \
105 AR=$(TARGET_CROSS)ar \
106 AS=$(TARGET_CROSS)as \
107 LD=$(TARGET_CROSS)ld \
108 NM=$(TARGET_CROSS)nm \
109 CC=$(TARGET_CROSS)gcc \
110 GCC=$(TARGET_CROSS)gcc \
111 CXX=$(TARGET_CROSS)g++ \
112 RANLIB=$(TARGET_CROSS)ranlib
113
114# invoke ipkg-build with some default options
115IPKG_BUILD:= PATH="$(TARGET_PATH)" ipkg-build -c -o 0 -g 0
116# where to build (and put) .ipk packages
117IPKG_TARGET_DIR:= $(PACKAGE_DIR)
118IPKG:= 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
119IPKG_STATE_DIR:= $(TARGET_DIR)/usr/lib/ipkg
120
121RSTRIP:= STRIP="$(STRIP)" $(SCRIPT_DIR)/rstrip.sh
122RSTRIP_KMOD:= STRIP="$(TARGET_CROSS)strip --strip-unneeded --remove-section=.comment" $(SCRIPT_DIR)/rstrip.sh
123
124# XXX derive these from BR2_* vars
125UNAME_S:= Linux
126UNAME_R:= 2.4.32
127UNAME_M:= mips
128
129export UNAME_S UNAME_R UNAME_M
130
131ifeq (${OStype},Linux)
132MKPASSWD:= $(STAGING_DIR)/bin/mkpasswd -H md5
133else
134MKPASSWD:= encrypt -m
135endif
136
137EXTRACT_CMD= mkdir -p ${WRKDIR}; \
138 cd ${WRKDIR} && \
139 for file in ${DISTFILES}; do case $$file in \
140 *.cpio | *.tar) \
141 tar xf $$file ;; \
142 *.cpio.Z | *.cpio.gz | *.cgz | *.mcz | \
143 *.tar.Z | *.tar.gz | *.taz | *.tgz) \
144 tar xzf $$file ;; \
145 *.cpio.bz2 | *.cbz | *.tar.bz2 | *.tbz | *.tbz2) \
146 bzip2 -dc $$file | cpio -mid ;; \
147 *.zip) \
148 unzip -d ${WRKDIR} $$file ;; \
149 *) \
150 echo "Cannot extract '$$file'" >&2; \
151 false ;; \
152 esac; done
153
154_show:
155 @echo '$($(show))'
Note: See TracBrowser for help on using the repository browser.