LINKERSCRIPT := $(MC1322X)/mc1322x.lds LIBMC1322X := $(MC1322X)/libmc1322x include $(MC1322X)/config.mk include $(MC1322X)/board/Makefile.board include $(MC1322X)/libmc1322x/Makefile.lib # default start and isr ifndef START START = $(MC1322X)/src/start.o endif ifndef ISR ISR = $(MC1322X)/src/isr.o endif ARCH = arm CPU = arm7tdmi-s export ARCH CPU VENDOR .SECONDARY: $(START): $(START:.o=.s) $(CC) $(AFLAGS) -c -o $@ $< $(ISR): $(ISR:.o=.c) $(CC) $(CFLAGS) $(ARM_FLAGS) $< -c -o $@ %_$(BOARD).elf: %.elf mv $< $@ %.elf: $(START) $(ISR) $(LIBMC1322X)/libmc1322x.a $(OBJDIR)/%.o $(LINKERSCRIPT) $(LD) $(LDFLAGS) $(AOBJS) \ --start-group $(PLATFORM_LIBS) --end-group \ $(filter %.o %.a,$+) -o $@ %.srec: %.elf $(OBJCOPY) ${OBJCFLAGS} -O srec $< $@ %.ihex: %.elf $(OBJCOPY) ${OBJCFLAGS} -O ihex $< $@ %.bin: %.elf $(OBJCOPY) ${OBJCFLAGS} -O binary $< $@ %.dis: %.elf $(OBJDUMP) -SD $< > $@ $(OBJDIR)/%.s: %.S $(CPP) $(AFLAGS) -o $@ $< $(OBJDIR)/%.o: %.S $(CC) $(AFLAGS) -c -o $@ $< $(OBJDIR)/%.o: %.c $(CC) $(CFLAGS) $(THUMB_FLAGS) -c -o $@ $< clean: find $(MC1322X) \ \( -name 'core' -o -name '*.bak' -o -name '*~' \ -o -name '*.o' -o -name '*.a' -o -name '*.obj' -o -name '*.elf' -o -name '*.s' -o -name '*.map' \ -o -name 'obj_*_board' -o -name '.depend' -o -name '*.bin' -o -name '*.dis' \) -print \ | xargs rm -rf rm -fr *.*~ clobber \ mrproper \ distclean: clean #.DEFAULT_GOAL := all ifndef BOARD .DEFAULT_GOAL := allboards else .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