3 # Copyright (C) 2007 OpenWrt.org
5 # This is free software, licensed under the GNU General Public License v2.
6 # See /LICENSE for more information.
12 export TOPDIR LC_ALL LANG
17 include $(TOPDIR
)/include/host.mk
19 ifneq ($(OPENWRT_BUILD
),1)
20 # XXX: these three lines are normally defined by rules.mk
21 # but we can't include that file in this context
23 space
:= $(empty
) $(empty
)
24 _SINGLE
=MAKEFLAGS
=$(space
)
26 override OPENWRT_BUILD
=1
28 include $(TOPDIR
)/include/debug.mk
29 include $(TOPDIR
)/include/depends.mk
30 include $(TOPDIR
)/include/toplevel.mk
33 include $(INCLUDE_DIR
)/depends.mk
34 include $(INCLUDE_DIR
)/subdir.mk
35 include tools
/Makefile
36 include toolchain
/Makefile
38 $(toolchain
/stamp-install
): $(tools
/stamp-install
)
39 #$(target/stamp-compile): $(toolchain/stamp-install) $(tools/stamp-install) $(BUILD_DIR)/.prepared
40 #$(package/stamp-cleanup): $(target/stamp-compile)
41 #$(package/stamp-compile): $(target/stamp-compile) $(package/stamp-cleanup)
42 #$(package/stamp-install): $(package/stamp-compile)
43 #$(package/stamp-rootfs-prepare): $(package/stamp-install)
44 #$(target/stamp-install): $(package/stamp-compile) $(package/stamp-install) $(package/stamp-rootfs-prepare)
47 $(BUILD_DIR
)/.prepared
: Makefile
48 @mkdir
-p
$$(dirname
$@
)
52 rm -rf
$(BUILD_DIR
) $(BIN_DIR
)
55 rm -rf
$(STAGING_DIR
) $(STAGING_DIR_HOST
) $(STAGING_DIR_TOOLCHAIN
) $(TOOLCHAIN_DIR
) $(BUILD_DIR_HOST
)
58 # check prerequisites before starting to build
61 prepare
: .config
$(tools
/stamp-install
) $(toolchain
/stamp-install
)
66 $(RSTRIP
) $(TOOLCHAIN_DIR
)/bin
67 $(RSTRIP
) $(TOOLCHAIN_DIR
)/$(ARCH
)-linux-uclibc
/bin
69 ifeq ($(CONFIG_LINUX_2_4
),y
)
70 -rm $(TOOLCHAIN_DIR
)/include/sys
/inotify.h
72 #### -patch -p1 -Z -N -s --no-backup-if-mismatch -d $(TOOLCHAIN_DIR) <toolchain/kernel-headers/extras/missing-headers.patch
73 # Create addtional symlinks
74 ln
-sf
$(ARCH
)-linux-gcc
$(TOOLCHAIN_DIR
)/bin
/$(ARCH
)-linux-cc
75 ln
-sf
"$(ARCH)-linux-uclibc-g++" "$(TOOLCHAIN_DIR)/bin/$(ARCH)-uclibc-g++"
76 ln
-sf
$(ARCH
)-linux-uclibc-ar
$(TOOLCHAIN_DIR
)/bin
/$(ARCH
)-uclibc-ar
77 ln
-sf
$(ARCH
)-linux-uclibc-gcc
$(TOOLCHAIN_DIR
)/bin
/$(ARCH
)-uclibc-gcc
78 ln
-sf
$(ARCH
)-linux-uclibc-ld
$(TOOLCHAIN_DIR
)/bin
/$(ARCH
)-uclibc-ld
79 ln
-sf
$(ARCH
)-linux-uclibc-nm
$(TOOLCHAIN_DIR
)/bin
/$(ARCH
)-uclibc-nm
80 ln
-sf
$(ARCH
)-linux-uclibc-objcopy
$(TOOLCHAIN_DIR
)/bin
/$(ARCH
)-uclibc-objcopy
81 ln
-sf
$(ARCH
)-linux-uclibc-objdump
$(TOOLCHAIN_DIR
)/bin
/$(ARCH
)-uclibc-objdump
82 ln
-sf
$(ARCH
)-linux-uclibc-ranlib
$(TOOLCHAIN_DIR
)/bin
/$(ARCH
)-uclibc-ranlib
83 ln
-sf
$(ARCH
)-linux-uclibc-size
$(TOOLCHAIN_DIR
)/bin
/$(ARCH
)-uclibc-size
84 ln
-sf
$(ARCH
)-linux-uclibc-strings
$(TOOLCHAIN_DIR
)/bin
/$(ARCH
)-uclibc-strings
85 ln
-sf
$(ARCH
)-linux-uclibc-strip
$(TOOLCHAIN_DIR
)/bin
/$(ARCH
)-uclibc-strip
88 #world: prepare $(target/stamp-compile) $(package/stamp-cleanup) $(package/stamp-compile) $(package/stamp-install) $(package/stamp-rootfs-prepare) $(target/stamp-install) FORCE
89 # $(SUBMAKE) package/index
91 # update all feeds, re-create index files, install symlinks
93 # $(SCRIPT_DIR)/feeds update -a
94 # $(SCRIPT_DIR)/feeds install -a
96 # re-create index files, install symlinks
97 #package/symlinks-install:
98 # $(SCRIPT_DIR)/feeds update -i
99 # $(SCRIPT_DIR)/feeds install -a
101 # remove all symlinks, don't touch ./feeds
102 #package/symlinks-clean:
103 # $(SCRIPT_DIR)/feeds uninstall -a
105 .PHONY
: clean dirclean prereq prepare world package
/symlinks package
/symlinks-install package
/symlinks-clean