build system refactoring in preparation for allowing packages to do host-build steps
[openwrt/staging/chunkeey.git] / tools / firmware-utils / Makefile
index 2518e34f65d658fbd4df8824e1e1cf17c9040b9b..5261a2bb62c7a0c52c43c9c9ede2e281aa5e9b3a 100644 (file)
@@ -1,23 +1,25 @@
-# 
-# Copyright (C) 2006 OpenWrt.org
+#
+# Copyright (C) 2006-2008 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
 include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/host-build.mk
 
 PKG_NAME := firmware-utils
-PKG_BUILD_DIR:=$(TOOL_BUILD_DIR)/firmware-utils
 
-CFLAGS := -O2 -I $(STAGING_DIR)/include-host -include endian.h
+include $(INCLUDE_DIR)/host-build.mk
 
 define cc
-       $(CC) $(CFLAGS) -o $(PKG_BUILD_DIR)/bin/$(1) src/$(1).c
+       $(CC) $(HOST_CFLAGS) -include endian.h -o $(HOST_BUILD_DIR)/bin/$(1) src/$(1).c $(2)
+endef
+
+define cc2
+       $(CC) $(HOST_CFLAGS) -include endian.h -o $(HOST_BUILD_DIR)/bin/$(firstword $(1)) $(foreach src,$(1),src/$(src).c) $(2)
 endef
 
-define Build/Compile
-       mkdir -p $(PKG_BUILD_DIR)/bin
+define Host/Compile
+       mkdir -p $(HOST_BUILD_DIR)/bin
        $(call cc,addpattern)
        $(call cc,trx)
        $(call cc,motorola-bin)
@@ -26,13 +28,21 @@ define Build/Compile
        $(call cc,ptgen)
        $(call cc,airlink)
        $(call cc,srec2bin)
-       $(call cc,mksyshdr)
        $(call cc,mkmylofw)
        $(call cc,mkcsysimg)
+       $(call cc,mkzynfw)
+       $(call cc,lzma2eva,-lz)
+       $(call cc,mkcasfw)
+       $(call cc,mkfwimage,-lz)
+       $(call cc,mkfwimage2,-lz)
+       $(call cc,imagetag)
+       $(call cc,add_header)
+       $(call cc,makeamitbin)
+       $(call cc2,mkplanexfw sha1)
 endef
 
-define Build/Install
-       $(CP) $(PKG_BUILD_DIR)/bin/* $(STAGING_DIR)/bin
+define Host/Install
+       $(INSTALL_BIN) $(HOST_BUILD_DIR)/bin/* $(STAGING_DIR_HOST)/bin/
 endef
 
 $(eval $(call HostBuild))