some more build system cleanup
[openwrt.git] / target / imagebuilder / Makefile
1
2 # Copyright (C) 2006 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 # $Id: Makefile 6070 2007-01-10 21:21:59Z nbd $
8
9 include $(TOPDIR)/rules.mk
10 include $(INCLUDE_DIR)/kernel.mk
11 include $(INCLUDE_DIR)/host.mk
12
13 override MAKEFLAGS=
14
15 PKG_OS:=$(shell uname -s)
16 PKG_CPU:=$(shell uname -m | sed "s/ //g")
17
18 IB_NAME:=OpenWrt-ImageBuilder-$(BOARD)-for-$(PKG_OS)-$(PKG_CPU)
19 PKG_BUILD_DIR:=$(BUILD_DIR)/$(IB_NAME)
20 IB_KDIR:=$(patsubst $(TOPDIR)/%,$(PKG_BUILD_DIR)/%,$(KERNEL_BUILD_DIR))
21
22 all: compile
23
24 $(BIN_DIR)/$(IB_NAME).tar.bz2: clean
25         rm -rf $(PKG_BUILD_DIR)
26         mkdir -p $(IB_KDIR) $(PKG_BUILD_DIR)/staging_dir/host $(PKG_BUILD_DIR)/target
27         $(CP) \
28                 $(INCLUDE_DIR) $(SCRIPT_DIR) $(PACKAGE_DIR) \
29                 $(TOPDIR)/rules.mk $(TOPDIR)/.config \
30                 ./files/Makefile \
31                 $(TMP_DIR)/.targetinfo \
32                 $(TMP_DIR)/.packageinfo \
33                 $(PKG_BUILD_DIR)/
34         $(CP) $(TOOLCHAIN_DIR)/bin $(PKG_BUILD_DIR)/staging_dir/host/
35         $(CP) $(STAGING_DIR_HOST)/bin/* $(PKG_BUILD_DIR)/staging_dir/host/bin/
36         $(CP) $(TOPDIR)/target/linux $(PKG_BUILD_DIR)/target/
37         rm -rf \
38                 $(PKG_BUILD_DIR)/target/linux/*/patches \
39                 $(PKG_BUILD_DIR)/target/linux/*/*/patches
40         -cp $(KERNEL_BUILD_DIR)/* $(IB_KDIR)/ # don't copy subdirectories here
41         find $(PKG_BUILD_DIR) -name .svn | $(XARGS) rm -rf
42         find $(PKG_BUILD_DIR) -name CVS | $(XARGS) rm -rf
43         find $(PKG_BUILD_DIR) -name .git | $(XARGS) rm -rf
44         $(TAR) c -C $(BUILD_DIR) $(IB_NAME) | bzip2 -c > $@
45
46 download:
47 prepare:
48 compile: $(BIN_DIR)/$(IB_NAME).tar.bz2
49 install: compile
50
51 clean: FORCE
52         rm -rf $(PKG_BUILD_DIR) $(BIN_DIR)/$(IB_NAME).tar.bz2