BR2_ -> CONFIG_
[openwrt.git] / target / linux / Makefile
1 include $(TOPDIR)/rules.mk
2
3 PKG_OS:=$(shell uname -s)
4 PKG_CPU:=$(shell uname -m)
5
6 IB_NAME:=OpenWrt-ImageBuilder-$(PKG_OS)-$(PKG_CPU)
7 IB_DIR:=$(BUILD_DIR)/$(IB_NAME)
8
9 define kernel_template
10
11 $(1)/$(2)-clean:
12         $(MAKE) -C $(2)-$(1) BOARD="$(2)" clean
13
14 $(1)/$(2)-prepare:
15         $(MAKE) -C $(2)-$(1) BOARD="$(2)" prepare
16
17 $(1)/$(2)-compile:
18         $(MAKE) -C $(2)-$(1) BOARD="$(2)" compile
19
20 $(1)/$(2)-rebuild:
21         $(MAKE) -C $(2)-$(1) BOARD="$(2)" rebuild
22
23 $(1)/$(2)-install:
24         $(MAKE) -C $(2)-$(1) BOARD="$(2)" install
25
26 $(1)/$(2)-image: $(1)/$(2)-install
27         $(MAKE) -C image KERNEL="$(1)" BOARD="$(2)" install
28
29 $(1)/$(2)-install-ib:
30         $(MAKE) -C image KERNEL="$(1)" BOARD="$(2)" IB_DIR="$(IB_DIR)" install-ib
31         echo '$$$$(eval $$$$(call image_template,$(2),$(1)))' >> $(IB_DIR)/kernel.mk
32
33
34 ifeq ($(CONFIG_LINUX_$(3)),y)
35 clean: $(1)/$(2)-clean
36 prepare: $(1)/$(2)-prepare
37 compile: $(1)/$(2)-compile
38 rebuild: $(1)/$(2)-rebuild
39 $(BIN_DIR)/$(IB_NAME).tar.bz2 install: $(1)/$(2)-image
40 install-ib: $(1)/$(2)-install-ib
41 package/%:
42         $(MAKE) -C $(2)-$(1) BOARD="$(2)" $$@
43 endif
44
45 .PHONY: $(1)/$(2)-clean $(1)/$(2)-prepare $(1)/$(2)-compile $(1)/$(2)-rebuild $(1)/$(2)-install $(1)/$(2)-image $(1)/$(2)-install-ib
46 endef
47
48 .PHONY: clean prepare compile rebuild install imagebuilder install-ib
49
50 install-ib:
51
52 $(BIN_DIR)/$(IB_NAME).tar.bz2:  
53         rm -rf $(IB_DIR)
54         mkdir -p $(IB_DIR)/packages
55         mkdir -p $(IB_DIR)/scripts
56         $(CP) ./imagebuilder/* $(IB_DIR)/
57         $(CP) $(TOPDIR)/bin/packages/*.ipk $(IB_DIR)/packages/
58         $(CP) $(TOPDIR)/scripts/ipkg $(IB_DIR)/scripts/
59         $(MAKE) install-ib
60         $(CP) $(TOPDIR)/rules.mk $(IB_DIR)
61         $(CP) ./image $(IB_DIR)/
62         $(CP) $(TOPDIR)/.config $(IB_DIR)/
63         find $(IB_DIR) -name .svn | xargs rm -rf
64         find $(IB_DIR) -name CVS | xargs rm -rf
65         (cd $(BUILD_DIR); tar c $(IB_NAME) | bzip2 -c > $(BIN_DIR)/$(IB_NAME).tar.bz2)
66
67 ifeq ($(CONFIG_PACKAGE_IMAGEBUILDER),y)
68 install: $(BIN_DIR)/$(IB_NAME).tar.bz2
69 endif
70
71 prepare:
72         $(MAKE) -C image prepare
73 compile:
74         $(MAKE) -C image compile
75 install:
76 rebuild:
77 clean:
78
79 $(eval $(call kernel_template,2.4,brcm,2_4_BRCM))
80 $(eval $(call kernel_template,2.4,ar7,2_4_AR7))
81 $(eval $(call kernel_template,2.4,x86,2_4_X86))
82 $(eval $(call kernel_template,2.6,brcm,2_6_BRCM))
83 $(eval $(call kernel_template,2.6,x86,2_6_X86))
84 $(eval $(call kernel_template,2.4,ar531x,2_4_AR531X))
85 $(eval $(call kernel_template,2.6,aruba,2_6_ARUBA))
86 $(eval $(call kernel_template,2.6,au1000,2_6_AU1000))