X?=arm-none-eabi-

PROJECT:=buttons
COMMON:=Common/src/startup_LPC13xx.o Common/src/core_cm3.o Common/src/system_LPC13xx.o Common/src/clkconfig.o Common/src/gpio.o Common/src/timer16.o Common/src/timer32.o
OBJS:=usbcore.o usbdesc.o usbhw.o usbuser.o main.o vendor.o $(COMMON)

SFLAGS:=-march=armv7-m -mthumb -g
CFLAGS:=-DLPC1343USB -DLPC1300 -DLPC1000 -DCM3 -DCM3R2P0 -DARMv7M $(SFLAGS) -I Common/inc
LDFLAGS:=-g -Wl,-Tlpc1343usb-gcc-flash.ld -nostdlib

all: $(PROJECT).bin

%.o: %.s
	$(X)gcc $(SFLAGS) -c $< -o $@

%.o: %.c
	$(X)gcc $(CFLAGS) -c $< -o $@

$(PROJECT).elf: $(OBJS)
	$(X)gcc $(LDFLAGS) $^ -o $@

$(PROJECT).bin: $(PROJECT).elf
	$(X)objcopy -O binary $< $@
	lpcrc $@

.PHONY: clean
clean:
	rm -f $(PROJECT).bin $(PROJECT).elf $(OBJS)
