nes-proj/Makefile.include

86 lines
1.7 KiB
Makefile
Raw Normal View History

LINKERSCRIPT := $(MC1322X)/mc1322x.lds
LIBMC1322X := $(MC1322X)/libmc1322x
2010-02-21 22:34:27 +00:00
2010-02-21 23:47:12 +00:00
include $(MC1322X)/config.mk
2010-02-21 22:34:27 +00:00
2010-02-21 23:47:12 +00:00
include $(MC1322X)/board/Makefile.board
include $(MC1322X)/libmc1322x/Makefile.lib
2010-02-21 22:34:27 +00:00
# default start and isr
ifndef START
START = $(MC1322X)/src/start.o
endif
ifndef ISR
ISR = $(MC1322X)/src/isr.o
endif
2010-02-21 22:34:27 +00:00
ARCH = arm
CPU = arm7tdmi-s
export ARCH CPU VENDOR
2010-02-22 23:58:45 +00:00
.SECONDARY:
$(START): $(START:.o=.s)
$(CC) $(AFLAGS) -c -o $@ $<
2010-02-21 22:34:27 +00:00
$(ISR): $(ISR:.o=.c)
$(CC) $(CFLAGS) $(ARM_FLAGS) $< -c -o $@
2010-02-21 22:34:27 +00:00
2010-02-22 23:58:45 +00:00
%_$(BOARD).elf: %.elf
mv $< $@
2010-02-23 20:53:00 +00:00
%.elf: $(START) $(ISR) $(LIBMC1322X)/libmc1322x.a $(OBJDIR)/%.o $(LINKERSCRIPT)
$(LD) $(LDFLAGS) $(AOBJS) \
--start-group $(PLATFORM_LIBS) --end-group \
$(filter %.o %.a,$+) -o $@
2010-02-21 22:34:27 +00:00
2010-02-23 20:53:00 +00:00
%.srec: %.elf
$(OBJCOPY) ${OBJCFLAGS} -O srec $< $@
%.ihex: %.elf
$(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@
%.bin: %.elf
$(OBJCOPY) ${OBJCFLAGS} -O binary $< $@
%.dis: %.elf
$(OBJDUMP) -SD $< > $@
2010-02-22 23:58:45 +00:00
$(OBJDIR)/%.s: %.S
$(CPP) $(AFLAGS) -o $@ $<
$(OBJDIR)/%.o: %.S
$(CC) $(AFLAGS) -c -o $@ $<
$(OBJDIR)/%.o: %.c
$(CC) $(CFLAGS) $(THUMB_FLAGS) -c -o $@ $<
2010-02-21 22:34:27 +00:00
clean:
2010-02-23 00:01:18 +00:00
find $(MC1322X) \
2010-02-21 22:34:27 +00:00
\( -name 'core' -o -name '*.bak' -o -name '*~' \
2010-02-23 00:01:18 +00:00
-o -name '*.o' -o -name '*.a' -o -name '*.obj' -o -name '*.elf' -o -name '*.s' -o -name '*.map' \
2010-02-23 20:53:00 +00:00
-o -name 'obj_*_board' -o -name '.depend' -o -name '*.bin' -o -name '*.dis' \) -print \
2010-02-23 00:01:18 +00:00
| xargs rm -rf
2010-02-22 17:24:56 +00:00
rm -fr *.*~
2010-02-21 22:34:27 +00:00
2010-02-22 17:24:56 +00:00
clobber \
2010-02-21 22:34:27 +00:00
mrproper \
2010-02-22 17:24:56 +00:00
distclean: clean
2010-02-23 23:27:12 +00:00
#.DEFAULT_GOAL := all
ifndef BOARD
.DEFAULT_GOAL := allboards
else
2010-02-23 23:27:12 +00:00
.DEFAULT_GOAL := all
endif
all: $(OBJDIR)/board.h
for target in $(TARGETS); do make $$target\_$(BOARD).bin; done
allboards:
for board in $(BOARDS); do make BOARD=$$board all; done
2010-02-23 23:27:12 +00:00