next round of build system cleanup - convert package/ to new structure
[openwrt.org/openwrt.git] / 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
# 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
IS_TTY:=${shell tty -s && echo 1 || echo 0}
export TOPDIR LC_ALL LANG IS_TTY
 
world:
 
include $(TOPDIR)/include/debug.mk
include $(TOPDIR)/include/host.mk
 
ifneq ($(OPENWRT_BUILD),1)
  override OPENWRT_BUILD=1
  export OPENWRT_BUILD
  include $(TOPDIR)/include/toplevel.mk
else
  include rules.mk
  include $(INCLUDE_DIR)/depends.mk
  include $(INCLUDE_DIR)/subdir.mk
  include package/Makefile
  include tools/Makefile
  include toolchain/Makefile
 
clean: FORCE
        rm -rf build_* bin tmp
 
dirclean: clean
        rm -rf staging_dir_* toolchain_build_* tool_build
 
distclean: dirclean config-clean symlinkclean docs/clean
        rm -rf dl
 
target/%: FORCE
        $(MAKE) -C $(patsubst %/$*,%,$@) $*
 
# check prerequisites before starting to build
prereq: tmp/.prereq-target $(package/stamp-prereq) ;
 
world: .config $(tools/stamp-install) $(toolchain/stamp-install) FORCE
        $(MAKE) target/compile
        $(MAKE) package/compile
        $(MAKE) package/install
        $(MAKE) target/install
        $(MAKE) package/index
 
package/symlinks:
        $(SCRIPT_DIR)/feeds.sh $(CONFIG_SOURCE_FEEDS) $(CONFIG_SOURCE_FEEDS_REV)        
 
# FIXME: remove after converting target/ to new structure
tmp/.prereq-target: tmp/.targetinfo .config
tmp/.prereq-target: include/prereq.mk 
        mkdir -p tmp
        rm -f tmp/.host.mk
        @+$(NO_TRACE_MAKE) -s -C target prereq 2>/dev/null || { \
                echo "Prerequisite check failed. Use FORCE=1 to override."; \
                false; \
        }
        touch $@
.SILENT: tmp/.prereq-target
 
endif
 
comments