diff options
Diffstat (limited to 'src/stm32f4-disco/Makefile')
| -rw-r--r-- | src/stm32f4-disco/Makefile | 81 |
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: |
