source: freewrt/rules.mk@ 0ea1f3f

freewrt_1_0 freewrt_2_0
Last change on this file since 0ea1f3f was 0ea1f3f, checked in by Waldemar Brodkorb <wbx@…>, 19 years ago
  • add hardware profiles, you can choose between different hardware models
  • add some alsa patches
  • remove default stuff

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

  • Property mode set to 100644
File size: 3.5 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)))
51TARGET_OPTIMIZATION:=$(strip $(subst ",, $(BR2_TARGET_OPTIMIZATION)))
52#"))"))"))"))")) # for vim's broken syntax highlighting :)
53
54
55ifeq ($(BR2_TAR_VERBOSITY),y)
56TAR_OPTIONS=-xvf
57else
58TAR_OPTIONS=-xf
59endif
60
61#ifeq ($(shell which pax 2>/dev/null),)
62TAR_EXTRACT= $(TOPDIR)/lbin/tar $(TAR_OPTIONS) -
63#else
64#TAR_EXTRACT= pax -r -pma
65#endif
66
67TARGET_CFLAGS:=$(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING)
68OPTIMIZE_FOR_CPU=$(ARCH)
69
70BASE_DIR:=$(TOPDIR)
71DL_DIR:=$(BASE_DIR)/dl
72BUILD_DIR:=$(BASE_DIR)/build_$(ARCH)$(ARCH_FPU_SUFFIX)
73STAGING_DIR:=$(BASE_DIR)/staging_dir_$(ARCH)$(ARCH_FPU_SUFFIX)
74TOOLCHAIN_BUILD_DIR=$(BASE_DIR)/toolchain_build_$(ARCH)$(ARCH_FPU_SUFFIX)
75TOOLCHAIN_STAMP_DIR:=$(STAGING_DIR)/stamp
76SCRIPT_DIR:=$(BASE_DIR)/scripts
77BIN_DIR:=$(BASE_DIR)/bin
78LBIN_DIR:=$(BASE_DIR)/lbin
79PACKAGE_DIR:=$(BIN_DIR)/packages
80STAMP_DIR:=$(BUILD_DIR)/stamp
81TARGET_DIR:=$(BUILD_DIR)/root
82TARGET_PATH=$(LBIN_DIR):$(STAGING_DIR)/usr/bin:$(STAGING_DIR)/bin:$(_PATH)
83IMAGE:=$(BUILD_DIR)/root_fs_$(ARCH)$(ARCH_FPU_SUFFIX)
84REAL_GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux-uclibc
85GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-linux
86KERNEL_CROSS:=$(STAGING_DIR)/bin/$(OPTIMIZE_FOR_CPU)-linux-uclibc-
87TARGET_CROSS:=$(STAGING_DIR)/bin/$(OPTIMIZE_FOR_CPU)-linux-uclibc-
88TARGET_CC:=$(TARGET_CROSS)gcc
89STRIP:=$(STAGING_DIR)/bin/$(OPTIMIZE_FOR_CPU)-linux-uclibc-strip
90PATCH=$(SCRIPT_DIR)/patch-kernel.sh
91SED:=$(STAGING_DIR)/bin/sed -i -e
92LINUX_DIR:=$(BUILD_DIR)/linux
93LINUX_HEADERS_DIR:=$(TOOLCHAIN_BUILD_DIR)/linux
94
95
96HOST_ARCH:=$(shell $(HOSTCC) -dumpmachine | sed -e s'/-.*//' \
97 -e 's/sparc.*/sparc/' \
98 -e 's/arm.*/arm/g' \
99 -e 's/m68k.*/m68k/' \
100 -e 's/ppc/powerpc/g' \
101 -e 's/v850.*/v850/g' \
102 -e 's/sh[234]/sh/' \
103 -e 's/mips-.*/mips/' \
104 -e 's/mipsel-.*/mipsel/' \
105 -e 's/cris.*/cris/' \
106 -e 's/i[3-9]86/i386/' \
107 )
108
109TARGET_CONFIGURE_OPTS=PATH=$(TARGET_PATH) \
110 AR=$(TARGET_CROSS)ar \
111 AS=$(TARGET_CROSS)as \
112 LD=$(TARGET_CROSS)ld \
113 NM=$(TARGET_CROSS)nm \
114 CC=$(TARGET_CROSS)gcc \
115 GCC=$(TARGET_CROSS)gcc \
116 CXX=$(TARGET_CROSS)g++ \
117 RANLIB=$(TARGET_CROSS)ranlib
118
119# invoke ipkg-build with some default options
120IPKG_BUILD := PATH="$(TARGET_PATH)" ipkg-build -c -o 0 -g 0
121# where to build (and put) .ipk packages
122IPKG_TARGET_DIR := $(PACKAGE_DIR)
123IPKG:=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
124IPKG_STATE_DIR := $(TARGET_DIR)/usr/lib/ipkg
125
126RSTRIP:=STRIP="$(STRIP)" $(SCRIPT_DIR)/rstrip.sh
127RSTRIP_KMOD:=STRIP="$(TARGET_CROSS)strip --strip-unneeded --remove-section=.comment" $(SCRIPT_DIR)/rstrip.sh
128
129UNAME_S:=Linux
130UNAME_R:=2.4.32
131UNAME_M:=mips
132
133export UNAME_S UNAME_R UNAME_M
Note: See TracBrowser for help on using the repository browser.