forked from RMerl/asuswrt-merlin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
109 lines (87 loc) · 3.67 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# Makefile for OpenWrt
#
# Copyright (C) 2007 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
TOPDIR:=${CURDIR}
LC_ALL:=C
LANG:=C
export TOPDIR LC_ALL LANG
world:
include $(TOPDIR)/include/host.mk
ifneq ($(OPENWRT_BUILD),1)
# XXX: these three lines are normally defined by rules.mk
# but we can't include that file in this context
empty:=
space:= $(empty) $(empty)
_SINGLE=MAKEFLAGS=$(space)
override OPENWRT_BUILD=1
export OPENWRT_BUILD
include $(TOPDIR)/include/debug.mk
include $(TOPDIR)/include/depends.mk
include $(TOPDIR)/include/toplevel.mk
else
include rules.mk
include $(INCLUDE_DIR)/depends.mk
include $(INCLUDE_DIR)/subdir.mk
include tools/Makefile
include toolchain/Makefile
$(toolchain/stamp-install): $(tools/stamp-install)
#$(target/stamp-compile): $(toolchain/stamp-install) $(tools/stamp-install) $(BUILD_DIR)/.prepared
#$(package/stamp-cleanup): $(target/stamp-compile)
#$(package/stamp-compile): $(target/stamp-compile) $(package/stamp-cleanup)
#$(package/stamp-install): $(package/stamp-compile)
#$(package/stamp-rootfs-prepare): $(package/stamp-install)
#$(target/stamp-install): $(package/stamp-compile) $(package/stamp-install) $(package/stamp-rootfs-prepare)
$(BUILD_DIR)/.prepared: Makefile
@mkdir -p $$(dirname $@)
@touch $@
clean: FORCE
rm -rf $(BUILD_DIR) $(BIN_DIR)
dirclean: clean
rm -rf $(STAGING_DIR) $(STAGING_DIR_HOST) $(STAGING_DIR_TOOLCHAIN) $(TOOLCHAIN_DIR) $(BUILD_DIR_HOST)
rm -rf $(TMP_DIR)
# check prerequisites before starting to build
prereq: ;
prepare: .config $(tools/stamp-install) $(toolchain/stamp-install)
# build toolchain
world: prepare FORCE
# Strip binaries
$(RSTRIP) $(TOOLCHAIN_DIR)/bin
$(RSTRIP) $(TOOLCHAIN_DIR)/$(ARCH)-linux-uclibc/bin
# Fix includes
ifeq ($(CONFIG_LINUX_2_4),y)
-rm $(TOOLCHAIN_DIR)/include/sys/inotify.h
endif
-tar -C toolchain/kernel-headers/extras/ --exclude='.svn' -cf - include | tar -C $(TOOLCHAIN_DIR) -xf -
# Create addtional symlinks
ln -sf $(ARCH)-linux-gcc $(TOOLCHAIN_DIR)/bin/$(ARCH)-linux-cc
ln -sf $(ARCH)-linux-uclibc-g\+\+ $(TOOLCHAIN_DIR)/bin/$(ARCH)-uclibc-g\+\+
ln -sf $(ARCH)-linux-uclibc-ar $(TOOLCHAIN_DIR)/bin/$(ARCH)-uclibc-ar
ln -sf $(ARCH)-linux-uclibc-gcc $(TOOLCHAIN_DIR)/bin/$(ARCH)-uclibc-gcc
ln -sf $(ARCH)-linux-uclibc-gcc-$(GCCV) $(TOOLCHAIN_DIR)/bin/$(ARCH)-uclibc-gcc-$(GCCV)
ln -sf $(ARCH)-linux-uclibc-ld $(TOOLCHAIN_DIR)/bin/$(ARCH)-uclibc-ld
ln -sf $(ARCH)-linux-uclibc-nm $(TOOLCHAIN_DIR)/bin/$(ARCH)-uclibc-nm
ln -sf $(ARCH)-linux-uclibc-objcopy $(TOOLCHAIN_DIR)/bin/$(ARCH)-uclibc-objcopy
ln -sf $(ARCH)-linux-uclibc-objdump $(TOOLCHAIN_DIR)/bin/$(ARCH)-uclibc-objdump
ln -sf $(ARCH)-linux-uclibc-ranlib $(TOOLCHAIN_DIR)/bin/$(ARCH)-uclibc-ranlib
ln -sf $(ARCH)-linux-uclibc-size $(TOOLCHAIN_DIR)/bin/$(ARCH)-uclibc-size
ln -sf $(ARCH)-linux-uclibc-strings $(TOOLCHAIN_DIR)/bin/$(ARCH)-uclibc-strings
ln -sf $(ARCH)-linux-uclibc-strip $(TOOLCHAIN_DIR)/bin/$(ARCH)-uclibc-strip
#world: prepare $(target/stamp-compile) $(package/stamp-cleanup) $(package/stamp-compile) $(package/stamp-install) $(package/stamp-rootfs-prepare) $(target/stamp-install) FORCE
# $(SUBMAKE) package/index
# update all feeds, re-create index files, install symlinks
#package/symlinks:
# $(SCRIPT_DIR)/feeds update -a
# $(SCRIPT_DIR)/feeds install -a
# re-create index files, install symlinks
#package/symlinks-install:
# $(SCRIPT_DIR)/feeds update -i
# $(SCRIPT_DIR)/feeds install -a
# remove all symlinks, don't touch ./feeds
#package/symlinks-clean:
# $(SCRIPT_DIR)/feeds uninstall -a
.PHONY: clean dirclean prereq prepare world package/symlinks package/symlinks-install package/symlinks-clean
endif