brians | 0ab60bb | 2013-01-31 02:21:51 +0000 | [diff] [blame] | 1 | NAME=main |
| 2 | |
| 3 | LDSCRIPT=lpc1758_Debug.ld |
| 4 | |
| 5 | CSRC=main.c |
| 6 | |
| 7 | GCC_PATH=/usr/local/cortex-m3/bin |
| 8 | |
| 9 | PORT=/dev/ttyUSB0 |
| 10 | |
| 11 | CC=$(GCC_PATH)/arm-eabi-gcc |
| 12 | LD=$(GCC_PATH)/arm-eabi-ld |
| 13 | OBJCOPY=$(GCC_PATH)/arm-eabi-objcopy |
| 14 | AS=$(GCC_PATH)/arm-eabi-as |
| 15 | FLASHER=lpc21isp |
| 16 | |
| 17 | CFLAGS=-I. -I./FreeRTOS/include -I./FreeRTOS/portable/GCC/ARM_CM3/ -I./CommonDemoTasks/include -Os -mcpu=cortex-m3 -mthumb -Wl,--gc-sections -ffunction-sections -Wl,-static -Werror |
| 18 | |
| 19 | SPEED=38400 |
| 20 | OSC=12000 |
| 21 | |
| 22 | SOURCES=main.c \ |
| 23 | ParTest.c \ |
| 24 | printf-stdarg.c \ |
| 25 | cr_startup_lpc17.c \ |
| 26 | CommonDemoTasks/flash.c \ |
| 27 | FreeRTOS/portable/MemMang/heap_2.c \ |
| 28 | alloc.c \ |
| 29 | analog.c \ |
| 30 | FreeRTOS/portable/GCC/ARM_CM3/port.c \ |
| 31 | FreeRTOS/tasks.c \ |
| 32 | FreeRTOS/list.c \ |
| 33 | FreeRTOS/queue.c \ |
| 34 | CAN.c \ |
| 35 | LPCUSB/usbinit.c \ |
| 36 | LPCUSB/usbcontrol.c \ |
| 37 | LPCUSB/USB_SENSOR_STREAM.c \ |
| 38 | LPCUSB/usbhw_lpc.c \ |
| 39 | spi.c \ |
| 40 | LPCUSB/usbstdreq.c |
| 41 | |
| 42 | all: $(NAME).hex |
| 43 | |
| 44 | $(NAME).elf: Makefile $(SOURCES:.c=.o) $(LDSCRIPT) |
| 45 | $(CC) $(CFLAGS) -nostartfiles -nostdlib -T $(LDSCRIPT) -o $@ -L/usr/local/cortex-m3/lib/gcc/arm-eabi/4.5.1/ $(SOURCES:.c=.o) -Wa,-Map -Wa,main.map -lgcc |
| 46 | |
| 47 | %.o: %.c Makefile |
| 48 | $(CC) $(CFLAGS) -nostartfiles -nostdlib -c -o $@ $< -Wall -std=gnu99 |
| 49 | |
| 50 | run: deploy |
| 51 | $(FLASHER) -termonly $(NAME).hex $(PORT) $(SPEED) $(OSC) |
| 52 | |
| 53 | deploy: all $(NAME).hex |
| 54 | $(FLASHER) -hex -verify $(NAME).hex $(PORT) $(SPEED) $(OSC) |
| 55 | |
| 56 | cat: |
| 57 | @cd ../../bin; python serial_looper.py |
| 58 | |
| 59 | %.hex: %.elf Makefile |
| 60 | $(OBJCOPY) -O ihex $< $@ |
| 61 | |
| 62 | clean: |
| 63 | rm -rf $(SOURCES:.c=.o) $(NAME).hex $(NAME).elf |