X-Git-Url: http://git.asbjorn.biz/?p=rapper.git;a=blobdiff_plain;f=src%2FMakefile;fp=src%2FMakefile;h=bf7dcc7df9ed3bb5c9bb612ed2ae31b10deadd42;hp=0000000000000000000000000000000000000000;hb=ab3f716f01b5b40ce743fbaa5780e12e448b609c;hpb=2253dc3498d4ace7f07884ec6d40d654ca677571 diff --git a/src/Makefile b/src/Makefile new file mode 100644 index 0000000..bf7dcc7 --- /dev/null +++ b/src/Makefile @@ -0,0 +1,36 @@ +PROJECT=rapper +PLATFORM ?= arm-none-eabi +BOARD?=lpc1768 +BPATH=boards/$(BOARD) +LDFLAGS=--gc-sections -g -T $(BPATH)/flash.ld +CFLAGS=-W -Wall --std=gnu99 -fgnu89-inline -mcpu=cortex-m3 -mthumb -ffunction-sections -fdata-sections -I$(BPATH) -I. -g +#CFLAGS+=-Os + +# objects are separated by space +USB_OBJS=usb/serial.o usb/core.o usb/desc.o usb/hw.o usb/user.o usb/vcom.o usb/cdcuser.o +BOARD_OBJS=$(BPATH)/startup.o $(BPATH)/system.o boards/cortex_m3/core_cm3.o +OBJECTS=main.o $(BOARD_OBJS) $(USB_OBJS) + + +all: crc + +$(PROJECT).elf: $(OBJECTS) + $(PLATFORM)-ld -Map $(PROJECT).map $(LDFLAGS) $(OBJECTS) -o $@ + +%.bin: %.elf + $(PLATFORM)-objcopy -O binary $< $*.bin + +%.o: %.c + $(PLATFORM)-gcc -MM $< -MF $(patsubst %.o,%.d,$@) -MP + $(PLATFORM)-gcc $(CFLAGS) -c $< -o $@ + +.PHONY: clean gdb crc + +clean: + rm -f $(PROJECT).elf $(OBJECTS) $(OBJECTS:.o=.d) $(PROJECT).map + +gdb: + $(PLATFORM)-gdb $(PROJECT).elf + +crc: $(PROJECT).bin + ../tools/lpcrc/lpcrc.sh $(PROJECT).bin $(BPATH)/startup.c