summaryrefslogtreecommitdiff
path: root/src/product/Makefile.telemetrum
blob: 2759ac52c8ac3c6fa78879cda8bc25b5cfdaf5e3 (plain) (blame)
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#
# TeleMetrum build file
#
# The various telemetrum versions differ only
# in which flash and GPS drivers are included,
# so the per-board makefiles simply define
# TM_VER, TM_DEF, TM_INC and TM_SRC and include
# this file

vpath %.c ..:../core:../cc1111:../drivers:../product
vpath %.h ..:../core:../cc1111:../drivers:../product
vpath ao-make-product.5c ../util

ifndef VERSION
include ../Version
endif

INC = \
	ao.h \
	ao_pins.h \
	cc1111.h \
	altitude.h \
	ao_kalman.h \
	ao_product.h \
	$(TM_INC)

CORE_SRC = \
	ao_cmd.c \
	ao_config.c \
	ao_convert.c \
	ao_gps_report.c \
	ao_mutex.c \
	ao_panic.c \
	ao_stdio.c \
	ao_storage.c \
	ao_task.c \
	ao_flight.c \
	ao_sample.c \
	ao_kalman.c \
	ao_log.c \
	ao_log_big.c \
	ao_report.c \
	ao_telemetry.c

CC1111_SRC = \
	ao_adc.c \
	ao_beep.c \
	ao_dbg.c \
	ao_dma.c \
	ao_ignite.c \
	ao_led.c \
	ao_packet.c \
	ao_packet_slave.c \
	ao_radio.c \
	ao_romconfig.c \
	ao_serial.c \
	ao_spi.c \
	ao_timer.c \
	ao_usb.c \
	_bp.c

DRIVER_SRC = \
	$(TM_SRC)

PRODUCT_SRC = \
	ao_telemetrum.c

SRC = \
	$(CORE_SRC) \
	$(CC1111_SRC) \
	$(DRIVER_SRC) \
	$(PRODUCT_SRC)

PROG = telemetrum-v$(TM_VER)-$(VERSION).ihx
PRODUCT=TeleMetrum-v$(TM_VER)
PRODUCT_DEF=-DTELEMETRUM_V_$(TM_DEF)
IDPRODUCT=0x000b

include ../cc1111/Makefile.cc1111

NICKLE=nickle
CHECK_STACK=sh ../util/check-stack

V=0
# The user has explicitly enabled quiet compilation.
ifeq ($(V),0)
quiet = @printf "  $1 $2 $@\n"; $($1)
endif
# Otherwise, print the full command line.
quiet ?= $($1)

all: ../$(PROG)

../$(PROG): $(REL) Makefile
	$(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(REL) && cp $(PROG) $(PMAP) ..
	$(call quiet,CHECK_STACK) ../cc1111/ao_arch.h $(PMEM)

ao_product.h: ao-make-product.5c ../Version
	$(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@

distclean:	clean

clean:
	rm -f $(ADB) $(ASM) $(LNK) $(LST) $(REL) $(RST) $(SYM)
	rm -f $(PROG) $(PCDB) $(PLNK) $(PMAP) $(PMEM) $(PAOM)
	rm -f ao_product.h
	rm -f ../$(PROG) ../$(PMAP)

install:

uninstall: