forked from paparazzi/paparazzi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
193 lines (140 loc) · 4.33 KB
/
Makefile
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
# Paparazzi main $Id$
# Copyright (C) 2004 Pascal Brisset Antoine Drouin
#
# This file is part of paparazzi.
#
# paparazzi is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# paparazzi is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with paparazzi; see the file COPYING. If not, write to
# the Free Software Foundation, 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
# The default is to produce a quiet echo of compilation commands
# Launch with "make Q=''" to get full echo
Q=@
ifeq ($(Q),@)
MAKEFLAGS += --no-print-directory
endif
PAPARAZZI_SRC=$(shell pwd)
include conf/Makefile.local
LIB=sw/lib
AIRBORNE=sw/airborne
CONFIGURATOR=sw/configurator
COCKPIT=sw/ground_segment/cockpit
TMTC=sw/ground_segment/tmtc
MULTIMON=sw/ground_segment/multimon
WIND=sw/ground_segment/wind
VISU3D=sw/ground_segment/visu3d
LOGALIZER=sw/logalizer
SIMULATOR=sw/simulator
SUPERVISION=sw/supervision/paparazzi.pl
MAKE=make
all: static
static : lib tools configurator cockpit tmtc logalizer sim_static wind static_h multimon
conf: conf/conf.xml conf/control_panel.xml
conf/%.xml :conf/%.xml.example
[ -L $@ ] || [ -f $@ ] || cp $< $@
test: static ac1 ac2
PAPARAZZI_HOME=$(PAPARAZZI_SRC) PAPARAZZI_SRC=$(PAPARAZZI_SRC) $(SUPERVISION)
ac1 : conf sim_static
make AIRCRAFT=Twin1 PAPARAZZI_HOME=$(PAPARAZZI_SRC) sim
ac2 : conf sim_static
make AIRCRAFT=Twin2 PAPARAZZI_HOME=$(PAPARAZZI_SRC) sim
lib:
cd $(LIB)/ocaml; $(MAKE)
cd $(LIB)/perl; $(MAKE)
tools: lib
cd $(TOOLS); make
logalizer: lib
cd $(LOGALIZER); $(MAKE)
configurator: lib
cd $(CONFIGURATOR); $(MAKE)
sim_static :
cd $(SIMULATOR); $(MAKE) PAPARAZZI_SRC=$(PAPARAZZI_SRC)
fbw fly_by_wire: ac_h
cd $(AIRBORNE); $(MAKE) TARGET=fbw all
ap autopilot: ac_h
cd $(AIRBORNE); $(MAKE) TARGET=ap all
sim: ac_h
cd $(AIRBORNE); $(MAKE) TARGET=sim ARCHI=sim all
upload_fbw: fbw
cd $(AIRBORNE); $(MAKE) TARGET=fbw upload
upload_ap: ap
cd $(AIRBORNE); $(MAKE) TARGET=ap upload
erase_fbw:
cd $(AIRBORNE); $(MAKE) TARGET=fbw erase
erase_ap:
cd $(AIRBORNE); $(MAKE) TARGET=ap erase
airborne: fbw ap
cockpit: lib
cd $(COCKPIT); $(MAKE) all
tmtc: lib
cd $(TMTC); $(MAKE) all
multimon:
cd $(MULTIMON); $(MAKE)
visu3d: lib
cd $(VISU3D); $(MAKE)
wind:
cd $(WIND); $(MAKE)
wr_fuses_ap:
cd $(AIRBORNE); make TARGET=ap wr_fuses
wr_fuses_fbw:
cd $(AIRBORNE); make TARGET=fbw wr_fuses
rd_fuses_ap:
cd $(AIRBORNE); make TARGET=ap rd_fuses
rd_fuses_fbw:
cd $(AIRBORNE); make TARGET=fbw rd_fuses
check_fuses_ap:
cd $(AIRBORNE); make TARGET=ap check_fuses
check_fuses_fbw:
cd $(AIRBORNE); make TARGET=fbw check_fuses
static_h :
PAPARAZZI_HOME=`pwd` PAPARAZZI_SRC=`pwd` make -f Makefile.gen
ac_h : tools static_h
@echo BUILD $(AIRCRAFT)
$(Q)PAPARAZZI_HOME=`pwd` PAPARAZZI_SRC=`pwd` Q=$(Q) $(TOOLS)/gen_aircraft.out $(AIRCRAFT)
hard_ac: ac_h fbw ap
ac: hard_ac
doxygen:
mkdir -p dox
doxygen Doxyfile
clean_ac :
rm -fr $(PAPARAZZI_HOME)/var/$(AIRCRAFT)
run_sitl :
$(PAPARAZZI_HOME)/var/$(AIRCRAFT)/sim/simsitl
install :
./Makefile.pl -install -destdir $(DESTDIR)
uninstall :
./Makefile.pl -uninstall -destdir $(DESTDIR)
deb :
chmod u+x debian/rules
dpkg-buildpackage -rfakeroot
clean:
rm -fr dox
find . -mindepth 2 -name Makefile -exec sh -c '$(MAKE) -C `dirname {}` $@' \;
find . -name '*~' -exec rm -f {} \;
dist_clean : clean
help:
@echo "'make' to compile the libraries and tools"
@echo "'make AIRCRAFT=NAME ac' to compile the NAMEd aircraft"
@echo "'make AIRCRAFT=NAME sim' to compile the simulated NAMEd aircraft"
@echo "'make Q='' ...' to get full echo of commands"
test_all_example_airframes:
make AIRCRAFT=Tux clean_ac hard_ac
make AIRCRAFT=Plaster clean_ac hard_ac
make AIRCRAFT=Twin1 clean_ac hard_ac
make AIRCRAFT=Twin2 clean_ac hard_ac
make AIRCRAFT=MJ1 clean_ac hard_ac
make AIRCRAFT=TJ1 clean_ac ap
make AIRCRAFT=MJ4 clean_ac ap
make AIRCRAFT=GRZE3 clean_ac ap
make AIRCRAFT=Twin4 clean_ac hard_ac
make AIRCRAFT=TS5 clean_ac hard_ac