3 # Copyright (C) 2006 by Felix Fietkau <openwrt@nbd.name>
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2 of the License, or
8 # (at your option) any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 # General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #VERSION:=2.0 # uncomment for final release
23 #--------------------------------------------------------------
24 # Just run 'make menuconfig', configure stuff, then run 'make'.
25 # You shouldn't need to mess with anything beyond this point...
26 #--------------------------------------------------------------
29 include $(TOPDIR
)/include/verbose.mk
31 OPENWRTVERSION
:=$(RELEASE
)
33 OPENWRTVERSION
:=$(VERSION
) ($(OPENWRTVERSION
))
35 REV
:=$(shell LANG
=C svn
info | awk
'/^Revision:/ { print$$2 }' )
37 OPENWRTVERSION
:=$(OPENWRTVERSION
)/r
$(REV
)
45 ifneq ($(shell .
/scripts
/timestamp.pl
-p .pkginfo package Makefile
),.pkginfo
)
46 @echo Collecting package
info...
47 @
-for
dir in package
/*/; do \
48 echo Source-Makefile
: $${dir}Makefile
; \
49 $(NO_TRACE_MAKE
) --no-print-dir DUMP
=1 -C
$$dir 2>&- || true
; \
54 .
/scripts
/gen_menuconfig.pl
< $< > $@ ||
rm -f
$@
57 -rm -f .pkginfo .config.in
59 .
/scripts
/config
/mconf
: .config.in
60 $(MAKE
) -C scripts
/config
all
62 .
/scripts
/config
/conf
: .config.in
63 $(MAKE
) -C scripts
/config conf
65 config
: .
/scripts
/config
/conf FORCE
68 defconfig
: .
/scripts
/config
/conf FORCE
70 $< -D .config Config.in
72 oldconfig
: .
/scripts
/config
/conf FORCE
75 menuconfig
: .
/scripts
/config
/mconf FORCE
79 $(MAKE
) -C scripts
/config
clean
81 package
/%: .pkginfo FORCE
82 $(MAKE
) -C package
$(patsubst package
/%,%,$@
)
84 target
/%: .pkginfo FORCE
85 $(MAKE
) -C target
$(patsubst target
/%,%,$@
)
88 $(MAKE
) -C toolchain
$(patsubst toolchain
/%,%,$@
)
90 .config
: .
/scripts
/config
/conf FORCE
91 @
[ -f .config
] ||
$(NO_TRACE_MAKE
) menuconfig
92 $< -D .config Config.in
>/dev
/null
2>/dev
/null
94 download
: .config FORCE
95 $(MAKE
) toolchain
/download
96 $(MAKE
) package
/download
97 $(MAKE
) target
/download
100 $(MAKE
) toolchain
/install
101 $(MAKE
) target
/compile
102 $(MAKE
) package
/compile
103 $(MAKE
) package
/install
104 $(MAKE
) target
/install
110 rm -rf staging_dir_
* toolchain_build_
*
112 distclean: dirclean config-clean
113 rm -rf dl .
*config
* .pkg
*