add package/download target
[openwrt.git] / package / Makefile
1 # Main makefile for the packages
2 include $(TOPDIR)/rules.mk
3 include $(TOPDIR)/.config
4 include $(TOPDIR)/.pkgdeps
5
6 SOURCE_PACKAGES:=$(patsubst %,%-source,$(package-y) $(package-m))
7 COMPILE_PACKAGES:=$(patsubst %,%-compile,$(package-y) $(package-m))
8 INSTALL_PACKAGES:=$(patsubst %,%-install,$(package-y))
9
10 $(STAMP_DIR) $(TARGET_DIR):
11         mkdir -p $@
12
13 %-source: $(STAMP_DIR) $(TARGET_DIR)
14         $(MAKE) -C $(patsubst %-source,%,$@) source MAKEFLAGS="$(BUILD_MAKEFLAGS)"
15
16 %-prepare: $(STAMP_DIR) $(TARGET_DIR)
17         $(MAKE) -C $(patsubst %-prepare,%,$@) prepare MAKEFLAGS="$(BUILD_MAKEFLAGS)"
18
19 %-compile: $(STAMP_DIR) $(TARGET_DIR)
20         @echo "-> make $@"
21         $(MAKE) -C $(patsubst %-compile,%,$@) compile MAKEFLAGS="$(BUILD_MAKEFLAGS)"
22
23 %-install: $(STAMP_DIR) $(TARGET_DIR)
24         @echo "-> make $@"
25         $(MAKE) -C $(patsubst %-install,%,$@) install MAKEFLAGS="$(BUILD_MAKEFLAGS)"
26
27 %-clean: $(STAMP_DIR) $(TARGET_DIR)
28         $(MAKE) -C $(patsubst %-clean,%,$@) clean MAKEFLAGS="$(BUILD_MAKEFLAGS)"
29
30
31 $(TOPDIR)/.pkgdeps: $(TOPDIR)/.pkginfo
32         @$(TOPDIR)/scripts/gen_deps.pl < $< > $@ || rm -f $@
33
34 all: compile
35 clean: $(patsubst %,%-clean,$(package-) $(package-y) $(package-m))
36 download: $(SOURCE_PACKAGES)
37 compile-targets: $(COMPILE_PACKAGES)
38 compile:
39         $(MAKE) -j$(CONFIG_JLEVEL) compile-targets
40 install-targets: base-files-install $(INSTALL_PACKAGES)
41 install:
42         rm -rf $(BUILD_DIR)/root
43         $(MAKE) install-targets
44