Root/
Source at commit f0ca9709793f2af9660d369123cdba705e44c47c created 12 years 4 months ago. By Xiangfu Liu, xburst qi_lb60 disable WPAN kernel options | |
---|---|
1 | # Makefile for OpenWrt |
2 | # |
3 | # Copyright (C) 2007 OpenWrt.org |
4 | # |
5 | # This is free software, licensed under the GNU General Public License v2. |
6 | # See /LICENSE for more information. |
7 | # |
8 | |
9 | TOPDIR:=${CURDIR} |
10 | LC_ALL:=C |
11 | LANG:=C |
12 | export TOPDIR LC_ALL LANG |
13 | |
14 | world: |
15 | |
16 | include $(TOPDIR)/include/host.mk |
17 | |
18 | ifneq ($(OPENWRT_BUILD),1) |
19 | # XXX: these three lines are normally defined by rules.mk |
20 | # but we can't include that file in this context |
21 | empty:= |
22 | space:= $(empty) $(empty) |
23 | _SINGLE=export MAKEFLAGS=$(space); |
24 | |
25 | override OPENWRT_BUILD=1 |
26 | export OPENWRT_BUILD |
27 | GREP_OPTIONS= |
28 | export GREP_OPTIONS |
29 | include $(TOPDIR)/include/debug.mk |
30 | include $(TOPDIR)/include/depends.mk |
31 | include $(TOPDIR)/include/toplevel.mk |
32 | else |
33 | include rules.mk |
34 | include $(INCLUDE_DIR)/depends.mk |
35 | include $(INCLUDE_DIR)/subdir.mk |
36 | include target/Makefile |
37 | include package/Makefile |
38 | include tools/Makefile |
39 | include toolchain/Makefile |
40 | |
41 | $(toolchain/stamp-install): $(tools/stamp-install) |
42 | $(target/stamp-compile): $(toolchain/stamp-install) $(tools/stamp-install) $(BUILD_DIR)/.prepared |
43 | $(package/stamp-cleanup): $(target/stamp-compile) |
44 | $(package/stamp-compile): $(target/stamp-compile) $(package/stamp-cleanup) |
45 | $(package/stamp-install): $(package/stamp-compile) |
46 | $(package/stamp-rootfs-prepare): $(package/stamp-install) |
47 | $(target/stamp-install): $(package/stamp-compile) $(package/stamp-install) $(package/stamp-rootfs-prepare) |
48 | |
49 | printdb: |
50 | @true |
51 | |
52 | prepare: $(target/stamp-compile) |
53 | |
54 | clean: FORCE |
55 | $(_SINGLE)$(SUBMAKE) target/linux/clean |
56 | rm -rf $(BUILD_DIR) $(BIN_DIR) $(BUILD_LOG_DIR) |
57 | |
58 | dirclean: clean |
59 | rm -rf $(STAGING_DIR) $(STAGING_DIR_HOST) $(STAGING_DIR_TOOLCHAIN) $(TOOLCHAIN_DIR) $(BUILD_DIR_HOST) $(BUILD_DIR_TOOLCHAIN) |
60 | rm -rf $(TMP_DIR) |
61 | |
62 | ifndef DUMP_TARGET_DB |
63 | $(BUILD_DIR)/.prepared: Makefile |
64 | @mkdir -p $$(dirname $@) |
65 | @touch $@ |
66 | |
67 | tmp/.prereq_packages: .config |
68 | unset ERROR; \ |
69 | for package in $(sort $(prereq-y) $(prereq-m)); do \ |
70 | $(_SINGLE)$(NO_TRACE_MAKE) -s -r -C package/$$package prereq || ERROR=1; \ |
71 | done; \ |
72 | if [ -n "$$ERROR" ]; then \ |
73 | echo "Package prerequisite check failed."; \ |
74 | false; \ |
75 | fi |
76 | touch $@ |
77 | endif |
78 | |
79 | # check prerequisites before starting to build |
80 | prereq: $(target/stamp-prereq) tmp/.prereq_packages |
81 | @if [ ! -f "$(INCLUDE_DIR)/site/$(REAL_GNU_TARGET_NAME)" ]; then \ |
82 | echo 'ERROR: Missing site config for target "$(REAL_GNU_TARGET_NAME)" !'; \ |
83 | echo ' The missing file will cause configure scripts to fail during compilation.'; \ |
84 | echo ' Please provide a "$(INCLUDE_DIR)/site/$(REAL_GNU_TARGET_NAME)" file and restart the build.'; \ |
85 | exit 1; \ |
86 | fi |
87 | |
88 | prepare: .config $(tools/stamp-install) $(toolchain/stamp-install) |
89 | world: prepare $(target/stamp-compile) $(package/stamp-cleanup) $(package/stamp-compile) $(package/stamp-install) $(package/stamp-rootfs-prepare) $(target/stamp-install) FORCE |
90 | $(_SINGLE)$(SUBMAKE) -r package/index |
91 | |
92 | # update all feeds, re-create index files, install symlinks |
93 | package/symlinks: |
94 | $(SCRIPT_DIR)/feeds update -a |
95 | $(SCRIPT_DIR)/feeds install -a |
96 | |
97 | # re-create index files, install symlinks |
98 | package/symlinks-install: |
99 | $(SCRIPT_DIR)/feeds update -i |
100 | $(SCRIPT_DIR)/feeds install -a |
101 | |
102 | # remove all symlinks, don't touch ./feeds |
103 | package/symlinks-clean: |
104 | $(SCRIPT_DIR)/feeds uninstall -a |
105 | |
106 | .PHONY: clean dirclean prereq prepare world package/symlinks package/symlinks-install package/symlinks-clean |
107 | |
108 | endif |
109 |