1 include $(TOPDIR
)/rules.mk
3 KDIR
:=$(BUILD_DIR
)/linux-
$(KERNEL
)-ar7
5 PKG_BUILD_DIR
:=$(BUILD_DIR
)/ar7loader
8 OUTPUT_FORMAT
:= elf32-tradlittlemips
10 CFLAGS
:= -D__KERNEL__
-Wall
-Wstrict-prototypes
-Wno-trigraphs
-Os \
11 -fno-strict-aliasing
-fno-common
-fomit-frame-pointer
-G
0 -mno-abicalls
-fno-pic \
12 -pipe
-mlong-calls
-fno-common \
13 -mabi
=32 -march
=mips32
-Wa
,-32 -Wa
,-march
=mips32
-Wa
,-mips32
-Wa
,--trap \
17 mkdir
-p
$(PKG_BUILD_DIR
)
19 $(PKG_BUILD_DIR
)/zimage.script
: src
/zimage.script.in
20 sed
-e
's/@@OUTPUT_FORMAT@@/$(OUTPUT_FORMAT)/' \
21 -e
's/@@LOADADDR@@/$(LOADADDR)/' <$< >$@
23 $(PKG_BUILD_DIR
)/ld.script
: src
/ld.script.in
24 sed
-e
's/@@OUTPUT_FORMAT@@/$(OUTPUT_FORMAT)/' \
25 -e
's/@@LOADADDR@@/$(LOADADDR)/' <$< >$@
27 $(PKG_BUILD_DIR
)/loader.o
: src
/loader.c
28 $(TARGET_CC
) $(CFLAGS
) -c
-o
$@
$<
30 $(PKG_BUILD_DIR
)/srec2bin
: src
/srec2bin.c
33 $(KDIR
)/vmlinux.gz
: $(KDIR
)/vmlinux
34 gzip
-c
-vf9
< $< > $@
36 $(BIN_DIR
)/openwrt-ar7-zimage.bin
: $(KDIR
)/vmlinux.gz compile
37 $(TARGET_CROSS
)ld -T
$(PKG_BUILD_DIR
)/zimage.script
-r
-b binary
$< -o
$(KDIR
)/zimage.o
38 $(TARGET_CROSS
)ld -static
-G
0 -no-warn-mismatch
-R
$(KDIR
)/linux-
$(KERNEL
)*/vmlinux
-T
$(PKG_BUILD_DIR
)/ld.script \
39 $(PKG_BUILD_DIR
)/loader.o \
42 $(TARGET_CROSS
)objcopy
-O srec
$(KDIR
)/loader
$(KDIR
)/ram_zimage.sre
43 $(PKG_BUILD_DIR
)/srec2bin
$(KDIR
)/ram_zimage.sre
$@
45 $(BIN_DIR
)/openwrt-ar7-
$(KERNEL
)-$(FS
).bin
:
46 dd if
=$(BIN_DIR
)/openwrt-ar7-zimage.bin of
=$@ bs
=786432 conv
=sync
47 cat
$(BUILD_DIR
)/linux-
$(KERNEL
)-ar7
/root.
$(FS
) >> $@
49 define pattern_template
50 $(BIN_DIR
)/openwrt-ar7-
$(KERNEL
)-$(FS
)-$(1).bin
: $(BIN_DIR
)/openwrt-ar7-
$(KERNEL
)-$(FS
).bin
51 (dd if
=/dev
/zero bs
=16 count
=1; cat
$(BIN_DIR
)/openwrt-ar7-
$(KERNEL
)-$(FS
).bin
) | \
52 $(STAGING_DIR
)/bin
/addpattern
-p
$(1) -o
$(BIN_DIR
)/openwrt-ar7-
$(KERNEL
)-$(FS
)-$(1).bin
54 install: $(BIN_DIR
)/openwrt-ar7-
$(KERNEL
)-$(FS
)-$(1).bin
57 $(eval
$(call pattern_template
,WA22
))
58 $(eval
$(call pattern_template
,WAG2
))
59 $(eval
$(call pattern_template
,WA21
))
62 rm -rf
$(PKG_BUILD_DIR
)
63 rm -f
$(BIN_DIR
)/openwrt-ar7
*
65 prepare
: $(PKG_BUILD_DIR
) $(PKG_BUILD_DIR
)/zimage.script
$(PKG_BUILD_DIR
)/ld.script
66 compile
: prepare
$(PKG_BUILD_DIR
)/loader.o
$(PKG_BUILD_DIR
)/srec2bin
67 install: $(BIN_DIR
)/openwrt-ar7-zimage.bin
$(BIN_DIR
)/openwrt-ar7-
$(KERNEL
)-$(FS
).bin