Fix regnual for new Chopstx
[gnuk/gnuk.git] / regnual / Makefile
1 # Makefile for reGNUal
2
3 PROJECT = regnual
4
5 OBJS = regnual.o usb-stm32f103.o reset.o
6 LDSCRIPT= regnual.ld
7
8 ###################################
9 MCU  = cortex-m3
10
11 TRGT = arm-none-eabi-
12 CC   = $(TRGT)gcc
13 LD   = $(TRGT)ld
14 OBJCOPY   = $(TRGT)objcopy
15 OBJDUMP   = $(TRGT)objdump
16
17 # THUMB-specific options here
18 TOPT = -mthumb -DTHUMB -mno-thumb-interwork
19 # Define C warning options here
20 CWARN = -Wall -Wextra -Wstrict-prototypes
21 MCFLAGS= -mcpu=$(MCU)
22 DEFS = -DFREE_STANDING
23
24 CFLAGS = -O2 -g
25 CFLAGS += -Wa,-alms=$(notdir $(<:.c=.lst)) -fpie
26 CFLAGS += $(CWARN) -I . -I ../chopstx -fno-common $(MCFLAGS) $(TOPT) $(DEFS)
27
28 LDFLAGS = -T$(LDSCRIPT) -nostartfiles $(MCFLAGS) $(TOPT)
29
30
31 ####################
32
33 all: regnual.hex
34
35 regnual.o: regnual.c ../chopstx/sys.h ../chopstx/usb_lld.h
36
37 regnual.hex: regnual.elf
38         $(OBJCOPY) -Obinary regnual.elf regnual.bin
39         $(OBJCOPY) -Oihex regnual.elf regnual.hex
40
41 usb-stm32f103.o: ../chopstx/mcu/usb-stm32f103.c
42         $(CC) $(CFLAGS) -c -o usb-stm32f103.o ../chopstx/mcu/usb-stm32f103.c
43
44 regnual.elf: $(OBJS) $(LDSCRIPT)
45         $(CC) $(LDFLAGS) -o regnual.elf $(OBJS)
46
47 clean:
48         -rm -f $(OBJS) regnual.elf regnual.hex regnual.bin *.lst
49
50 distclean: clean