3dd9ac5c2cc1ac57c06236d329f62468bf956859
[openwrt/openwrt.git] / tools / firmware-utils / Makefile
1 #
2 # Copyright (C) 2006-2012 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7 include $(TOPDIR)/rules.mk
8
9 PKG_NAME := firmware-utils
10
11 include $(INCLUDE_DIR)/host-build.mk
12 include $(INCLUDE_DIR)/kernel.mk
13
14 define cc
15 $(HOSTCC) \
16 $(HOST_CFLAGS) \
17 -Wno-unused-parameter \
18 -include endian.h $(HOST_LDFLAGS) \
19 -o $(HOST_BUILD_DIR)/bin/$(firstword $(1)) \
20 $(foreach src,$(1),src/$(src).c) \
21 $(2)
22 endef
23
24 define Host/Compile
25 mkdir -p $(HOST_BUILD_DIR)/bin
26 $(call cc,add_header)
27 $(call cc,addpattern)
28 $(call cc,asustrx)
29 $(call cc,buffalo-enc buffalo-lib,-Wall)
30 $(call cc,buffalo-tag buffalo-lib,-Wall)
31 $(call cc,buffalo-tftp buffalo-lib,-Wall)
32 $(call cc,dgfirmware)
33 $(call cc,dgn3500sum,-Wall)
34 $(call cc,dns313-header,-Wall)
35 $(call cc,edimax_fw_header,-Wall)
36 $(call cc,encode_crc)
37 $(call cc,fix-u-media-header cyg_crc32,-Wall)
38 $(call cc,hcsmakeimage bcmalgo)
39 $(call cc,imagetag imagetag_cmdline cyg_crc32)
40 $(call cc,jcgimage,-lz -Wall)
41 $(call cc,lxlfw)
42 $(call cc,lzma2eva,-lz)
43 $(call cc,makeamitbin)
44 $(call cc,mkbrncmdline)
45 $(call cc,mkbrnimg)
46 $(call cc,mkbuffaloimg,-Wall)
47 $(call cc,mkcameofw,-Wall)
48 $(call cc,mkcasfw)
49 $(call cc,mkchkimg)
50 $(call cc,mkcsysimg)
51 $(call cc,mkdapimg)
52 $(call cc,mkdapimg2)
53 $(call cc,mkdhpimg buffalo-lib,-Wall)
54 $(call cc,mkdlinkfw mkdlinkfw-lib,-lz -Wall --std=c99)
55 $(call cc,mkdniimg)
56 $(call cc,mkedimaximg)
57 $(call cc,mkfwimage,-lz -Wall -Werror -Wextra -D_FILE_OFFSET_BITS=64)
58 $(call cc,mkfwimage2,-lz)
59 $(call cc,mkheader_gemtek,-lz)
60 $(call cc,mkhilinkfw,-lcrypto)
61 $(call cc,mkmerakifw sha1,-Wall)
62 $(call cc,mkmerakifw-old,-Wall)
63 $(call cc,mkmylofw)
64 $(call cc,mkplanexfw sha1)
65 $(call cc,mkporayfw,-Wall)
66 $(call cc,mkrasimage,--std=gnu99)
67 $(call cc,mkrtn56uimg,-lz)
68 $(call cc,mksenaofw md5,-Wall --std=gnu99)
69 $(call cc,mksercommfw,-Wall)
70 $(call cc,mktitanimg)
71 $(call cc,mktplinkfw mktplinkfw-lib md5,-Wall -fgnu89-inline)
72 $(call cc,mktplinkfw2 mktplinkfw-lib md5,-fgnu89-inline)
73 $(call cc,mkwrggimg md5,-Wall)
74 $(call cc,mkwrgimg md5,-Wall)
75 $(call cc,mkzcfw cyg_crc32)
76 $(call cc,mkzynfw)
77 $(call cc,motorola-bin)
78 $(call cc,nand_ecc)
79 $(call cc,nec-enc,-Wall --std=gnu99)
80 $(call cc,osbridge-crc)
81 $(call cc,oseama md5,-Wall)
82 $(call cc,otrx)
83 $(call cc,pc1crypt)
84 $(call cc,ptgen cyg_crc32)
85 $(call cc,seama md5)
86 $(call cc,spw303v)
87 $(call cc,srec2bin)
88 $(call cc,tplink-safeloader md5,-Wall --std=gnu99)
89 $(call cc,trx)
90 $(call cc,trx2edips)
91 $(call cc,trx2usr)
92 $(call cc,uimage_padhdr,-Wall -lz)
93 $(call cc,wrt400n cyg_crc32)
94 $(call cc,xorimage)
95 $(call cc,zyimage,-Wall)
96 $(call cc,zyxbcm)
97 endef
98
99 define Host/Install
100 $(INSTALL_BIN) $(HOST_BUILD_DIR)/bin/* $(STAGING_DIR_HOST)/bin/
101 endef
102
103 $(eval $(call HostBuild))