summaryrefslogtreecommitdiff
path: root/src/stm32f4-disco/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'src/stm32f4-disco/Makefile')
-rw-r--r--src/stm32f4-disco/Makefile81
1 files changed, 81 insertions, 0 deletions
diff --git a/src/stm32f4-disco/Makefile b/src/stm32f4-disco/Makefile
new file mode 100644
index 00000000..de30316c
--- /dev/null
+++ b/src/stm32f4-disco/Makefile
@@ -0,0 +1,81 @@
+include ../stm32f4/Makefile-raw.defs
+
+aoschemelib=$(shell pkg-config --variable=aoschemelib ao-scheme)
+
+include $(aoschemelib)/Makefile-scheme
+
+IDVENDOR=0xfffe
+IDPRODUCT=0xfffa
+PRODUCT=stm32f4-disco
+SERIAL=1
+
+INC = \
+ ao.h \
+ ao_arch.h \
+ ao_arch_funcs.h \
+ ao_boot.h \
+ ao_pins.h \
+ ao_task.h \
+ ao_product.h \
+ $(SCHEME_HDRS) \
+ ao_scheme_const.h \
+ stm32f4.h \
+ Makefile
+
+ALTOS_SRC = \
+ ao_interrupt.c \
+ ao_romconfig.c \
+ ao_panic.c \
+ ao_timer.c \
+ ao_task.c \
+ ao_stdio.c \
+ ao_product.c \
+ ao_cmd.c \
+ ao_exti_stm32f4.c \
+ ao_usart_stm32f4.c \
+ ao_usb_gen.c \
+ ao_usb_stm32f4.c \
+ ao_led.c \
+ ao_impure.c \
+ $(SCHEME_SRCS)
+
+CFLAGS = $(STM32F4_CFLAGS) -I$(aoschemelib)
+
+PROG=stm32f4-disco-$(VERSION)
+ELF=$(PROG).elf
+IHX=$(PROG).ihx
+
+SRC=$(ALTOS_SRC) ao_disco.c
+OBJ=$(SRC:.c=.o)
+MAP=$(PROG).map
+
+all: $(ELF) $(IHX)
+
+$(ELF): Makefile $(OBJ)
+ $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $@ $(OBJ) -Wl,-M=$(MAP) $(LIBS)
+
+$(OBJ): $(INC)
+
+ao_product.h: ao-make-product.5c ../Version Makefile
+ $(call quiet,NICKLE,$<) $< -m altusmetrum.org -V $(IDVENDOR) -s $(SERIAL) -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@
+
+SCHEME_SCHEME=\
+ ao_scheme_basic_syntax.scheme \
+ ao_scheme_list.scheme \
+ ao_scheme_advanced_syntax.scheme \
+ ao_scheme_vector.scheme \
+ ao_scheme_string.scheme \
+ ao_scheme_char.scheme \
+ ao_scheme_number.scheme
+
+ao_scheme_const.h: ao-scheme-make-const-big $(SCHEME_SCHEME)
+ $^ -o $@ -d POSIX,PORT,SAVE
+
+distclean: clean
+
+clean:
+ rm -f *.o *.elf *.ihx *.map
+
+install:
+
+uninstall: