7 CFLAGS
=-W
-Wall
-Wundef
-O
-nostdlib
-ffreestanding
-Wstrict-prototypes
-pipe
-std
=gnu99
-mcpu
=arm926ej-s
-fomit-frame-pointer
-Wno-pointer-sign
-Wno-override-init
-ffunction-sections
8 CFLAGS_3700
=$(CFLAGS
) -DHAVE_STMP3700
9 ASFLAGS
=$(CFLAGS
) -D__ASSEMBLER__
10 ASFLAGS_3700
=$(CFLAGS_3700
) -D__ASSEMBLER__
12 LINKER_FILE
=hwemul.lds
13 LDFLAGS
=-lgcc
-Os
-nostdlib
-Tlink.lds
-Wl
,-Map
,hwemul.map
14 LDFLAGS_3700
=-lgcc
-Os
-nostdlib
-Tlink.lds
-Wl
,-Map
,hwemul3700.map
19 OBJ_C_3700
=$(SRC_C
:.c
=.3700.o
)
20 OBJ_S_3700
=$(SRC_S
:.S
=.3700.o
)
22 OBJ_3700
=$(OBJ_C_3700
) $(OBJ_S_3700
)
23 OBJ_EXCEPT_CRT0
=$(filter-out crt0.o
,$(OBJ
))
24 OBJ_EXCEPT_CRT0_3700
=$(filter-out crt0.3700.o
,$(OBJ_3700
))
28 EXEC_ELF_3700
=hwemul3700.elf
29 EXEC_SB_3700
=hwemul3700.sb
31 ELF2SB
=$(SBTOOLS
)/elftosb
-d
32 ELF2SB_CMD
=-c hwemul.db
34 SBLOADER
=$(SBTOOLS
)/sbloader
35 SBLOADER_CMD
=0 $(EXEC_SB
)
36 SBLOADER_CMD_3700
=0 $(EXEC_SB_3700
)
38 TOOLS
=..
/..
/..
/..
/tools
/
39 SCRAMBLE
=$(TOOLS
)/scramble
41 EXEC
=$(EXEC_SB
) $(EXEC_SB_3700
) $(EXEC_ELF
) $(EXEC_ELF_3700
)
45 # pull in dependency info for *existing* .o files
49 $(CC
) $(CFLAGS_3700
) -c
-o
$@
$<
50 $(CC
) -MM
$(CFLAGS_3700
) $*.c
> $*.d
52 @sed
-e
's/.*://' -e
's/\\$$//' < $*.d.tmp | fmt
-1 | \
53 sed
-e
's/^ *//' -e
's/$$/:/' >> $*.d
57 $(CC
) $(CFLAGS
) -c
-o
$@
$<
58 $(CC
) -MM
$(CFLAGS
) $*.c
> $*.d
60 @sed
-e
's/.*://' -e
's/\\$$//' < $*.d.tmp | fmt
-1 | \
61 sed
-e
's/^ *//' -e
's/$$/:/' >> $*.d
65 $(AS
) $(ASFLAGS_3700
) -c
-o
$@
$<
68 $(AS
) $(ASFLAGS
) -c
-o
$@
$<
70 link.lds
: $(LINKER_FILE
)
71 $(CC
) -E
-x c
- < $< | sed
'/#/d' > $@
73 $(EXEC_ELF
): $(OBJ
) link.lds
74 $(LD
) $(LDFLAGS
) -o
$@
$(OBJ_EXCEPT_CRT0
)
76 $(EXEC_SB
): $(EXEC_ELF
)
77 $(ELF2SB
) $(ELF2SB_CMD
) $(ELF2SB_KEY
) -o
$@
79 $(EXEC_ELF_3700
): $(OBJ_3700
) link.lds
80 $(LD
) $(LDFLAGS_3700
) -o
$@
$(OBJ_EXCEPT_CRT0_3700
)
82 $(EXEC_SB_3700
): $(EXEC_ELF_3700
)
83 $(ELF2SB
) $(ELF2SB_CMD
) $(ELF2SB_KEY
) -o
$@
86 $(SBLOADER
) $(SBLOADER_CMD
)
88 sbload3700
: $(EXEC_SB_3700
)
89 $(SBLOADER
) $(SBLOADER_CMD_3700
)
92 rm -rf
$(OBJ
) $(OBJ_3700
) $(DEPS
) $(EXEC
) *.map