Fix USB, DOS line endings, integrate and reorganize project
[rapper.git] / new_cmsis / Makefile
index f143b3b..bf7dcc7 100644 (file)
@@ -1,26 +1,36 @@
-PROJECT=rapper\r
-PLATFORM ?= arm-none-eabi\r
-LDFLAGS=--gc-sections -g -T LPC1768-flash.ld\r
-CFLAGS=-W -Wall --std=gnu99 -fgnu89-inline -mcpu=cortex-m3 -mthumb -ffunction-sections -fdata-sections -I. -g\r
-#CFLAGS+=-Os\r
-\r
-# objects are separated by space\r
-OBJECTS=startup.o system_LPC17xx.o main.o core_cm3.o\r
-\r
-\r
-all: $(PROJECT).elf\r
-\r
-$(PROJECT).elf: $(OBJECTS)\r
-       $(PLATFORM)-ld -Map $(PROJECT).map $(LDFLAGS) $(OBJECTS) -o $@\r
-\r
-%.o: %.c\r
-       $(PLATFORM)-gcc -MM $< -MF $(patsubst %.o,%.d,$@) -MP\r
-       $(PLATFORM)-gcc $(CFLAGS) -c $< -o $@\r
-\r
-.PHONY: clean gdb\r
-\r
-clean:\r
-       rm -f $(PROJECT).elf $(OBJECTS) $(OBJECTS:.o=.d) $(PROJECT).map\r
-\r
-gdb:\r
-       $(PLATFORM)-gdb $(PROJECT).elf\r
+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