summaryrefslogtreecommitdiff
path: root/digital/io-hub/src/apbirthday/Makefile
blob: 5611319dbd83654e529654a0edd4bebb16162580 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
BASE = ../../../ucoolib

TARGETS = host stm32f4
PROGS = apbirthday
apbirthday_SOURCES = main.cc robot.cc hardware.host.cc hardware.stm32.cc \
		     simu_report.host.cc zb_avrisp.stm32.cc \
		     i2c_queue.cc asserv.cc mimot.cc \
		     pressure.cc chrono.host.cc chrono.stm32.cc \
		     radar.cc radar_2013.cc obstacles.cc \
		     outputs.cc \
		     top.cc init.cc move.cc candles.cc \
		     angfsm.host.c angfsm_gen_arm_AI.arm.c fsm_queue.cc \
		     $(AVR_SOURCES)

MODULES = utils hal/gpio hal/adc hal/uart hal/usb hal/i2c hal/spi \
	  base/proto dev/avrisp dev/usdist

# Hack mode, include old code from AVR modules.
AVR_MODULES = math/geometry math/fixed
AVR_BASE = $(BASE)/../avr
INCLUDES += -I$(AVR_BASE) -I$(AVR_BASE)/common
host_DEFS += -DHOST
include $(AVR_MODULES:%=$(AVR_BASE)/modules/%/Makefile.module)
vpath %.c $(AVR_MODULES:%=$(AVR_BASE)/modules/%)
AVR_SOURCES = $(foreach module,$(AVR_MODULES),$($(subst /,_,$(module))_SOURCES))

# FSM.
INCLUDES += -I$(BASE)/../ai/src/fsm -I.
vpath angfsm.host.c $(BASE)/../ai/src/fsm

# Common files.
INCLUDES += -I../common-cc
vpath %.cc ../common-cc

include $(BASE)/build/top.mk

clean: clean.project
clean.project:
	rm -f usb zb_uart angfsm_gen_arm_AI.h angfsm_gen_arm_AI.arm.c

obj/main.stm32f4.o: angfsm_gen_arm_AI.h
angfsm_gen_arm_AI.arm.c: angfsm_gen_arm_AI.h
angfsm_gen_arm_AI.h: apbirthday.host
	./$< --ang-gen arm && mv angfsm_gen_arm_AI.c angfsm_gen_arm_AI.arm.c

host: all.host