--- /dev/null
+PROJECT=usbdemo\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=serial.o usbcore.o usbdesc.o usbhw.o usbuser.o vcomdemo.o startup.o cdcuser.o ../system_LPC17xx.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