-
-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathMakefile
126 lines (95 loc) · 4.66 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
# This file is part of AutoQuad.
#
# AutoQuad 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 3 of the License, or
# (at your option) any later version.
#
# AutoQuad 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 AutoQuad. If not, see <http://www.gnu.org/licenses/>.
#
# Copyright © 2011-2014 Bill Nesbitt
# Include user-specific settings file, if any, in regular Makefile format.
# This file can set any default variable values you wish to override (all defaults are listed below).
# The .user file is not included with the source code distribution, so it will not be overwritten.
-include Makefile.user
CC ?= g++
CFLAGS ?= -g -O3 -Wall
#LDFLAGS ?=
# BUILD_PATH = .
BUILD_PATH ?= ../build
# Linux/OS X
#LIBPATH ?= /opt/local/lib
#INCPATH ?= /opt/local/include
#MAVLINK ?= ../mavlink/include/autoquad
#EXPAT ?= $(LIBPATH)
#EXPAT_LIB ?= expat
#PLPLOT ?= $(LIBPATH)
#PLPLOT_LIB ?= plplotd
#PLPLOT_INC ?= $(INCPATH)
#EIGEN ?= /usr/local/include/eigen3
# Windows
LIBPATH ?= ../../../lib
INCPATH ?= .
MAVLINK ?= $(LIBPATH)/mavlink/include/autoquad
EXPAT ?= $(LIBPATH)/expat
EXPAT_LIB ?= libexpat
#PLPLOT ?= $(LIBPATH)/plplot/lib
#PLPLOT_LIB ?= libplplotd
#PLPLOT_INC ?= $(LIBPATH)
EIGEN ?= $(LIBPATH)/eigen
WITH_PLPLOT =
ifdef PLPLOT
WITH_PLPLOT = -I$(PLPLOT_INC) -L$(PLPLOT) -l$(PLPLOT_LIB) -DHAS_PLPLOT
endif
ALL_CFLAGS = $(CFLAGS)
# Targets
all: loader telemetryDump logDump batCal quatosTool escLogDump quatosLogDump
all-win: logDump batCal quatosTool escLogDump quatosLogDump
loader: $(BUILD_PATH)/loader.o $(BUILD_PATH)/serial.o $(BUILD_PATH)/stmbootloader.o
$(CC) -o $(BUILD_PATH)/loader $(ALL_CFLAGS) $(BUILD_PATH)/loader.o $(BUILD_PATH)/serial.o $(BUILD_PATH)/stmbootloader.o
telemetryDump: $(BUILD_PATH)/telemetryDump.o $(BUILD_PATH)/serial.o
$(CC) -o $(BUILD_PATH)/telemetryDump $(ALL_CFLAGS) $(BUILD_PATH)/telemetryDump.o $(BUILD_PATH)/serial.o
logDump: $(BUILD_PATH)/logDump.o $(BUILD_PATH)/logger.o $(BUILD_PATH)/plotter.o #$(BUILD_PATH)/logDump_mavlink.o
$(CC) -o $(BUILD_PATH)/logDump $(ALL_CFLAGS) $(BUILD_PATH)/logDump.o $(BUILD_PATH)/logger.o $(BUILD_PATH)/plotter.o $(WITH_PLPLOT)
#$(BUILD_PATH)/logDump_mavlink.o -DUSE_MAVLINK
batCal: $(BUILD_PATH)/batCal.o $(BUILD_PATH)/logger.o
$(CC) -o $(BUILD_PATH)/batCal $(ALL_CFLAGS) $(BUILD_PATH)/batCal.o $(BUILD_PATH)/logger.o $(WITH_PLPLOT)
quatosTool: $(BUILD_PATH)/quatosTool.o
$(CC) -o $(BUILD_PATH)/quatosTool $(ALL_CFLAGS) $(BUILD_PATH)/quatosTool.o -L$(EXPAT) -l$(EXPAT_LIB)
escLogDump: $(BUILD_PATH)/escLogDump.o
$(CC) -o $(BUILD_PATH)/escLogDump $(ALL_CFLAGS) $(BUILD_PATH)/escLogDump.o
quatosLogDump: $(BUILD_PATH)/quatosLogDump.o $(BUILD_PATH)/plotter.o
$(CC) -o $(BUILD_PATH)/quatosLogDump $(ALL_CFLAGS) $(BUILD_PATH)/quatosLogDump.o $(BUILD_PATH)/plotter.o $(WITH_PLPLOT)
$(BUILD_PATH)/loader.o: loader.c serial.h stmbootloader.h
$(CC) -c $(ALL_CFLAGS) loader.c -o $@
$(BUILD_PATH)/stmbootloader.o: stmbootloader.c stmbootloader.h serial.o
$(CC) -c $(ALL_CFLAGS) stmbootloader.c -o $@
$(BUILD_PATH)/serial.o: serial.c serial.h
$(CC) -c $(ALL_CFLAGS) serial.c -o $@
$(BUILD_PATH)/telemetryDump.o: telemetryDump.c telemetryDump.h
$(CC) -c $(ALL_CFLAGS) telemetryDump.c -o $@
$(BUILD_PATH)/logDump.o: logDump.cc logDump_templates.h logDump.h logger.h plotter.h #logDump_mavlink.h
$(CC) -c $(ALL_CFLAGS) logDump.cc -o $@ -I$(INCPATH) $(WITH_PLPLOT)
#-I$(MAVLINK) -DUSE_MAVLINK
$(BUILD_PATH)/logDump_mavlink.o: logDump_mavlink.cpp logDump_mavlink.h
$(CC) -c $(ALL_CFLAGS) logDump_mavlink.cpp -o $@ -I$(MAVLINK)
$(BUILD_PATH)/batCal.o: batCal.cc
$(CC) -c $(ALL_CFLAGS) batCal.cc -o $@ -I$(INCPATH) -I$(EIGEN) $(WITH_PLPLOT)
$(BUILD_PATH)/quatosTool.o: quatosTool.cc
$(CC) -c $(ALL_CFLAGS) quatosTool.cc -o $@ -I$(EXPAT)/src -I$(EIGEN)
$(BUILD_PATH)/logger.o: logger.c logger.h
$(CC) -c $(ALL_CFLAGS) logger.c -o $@
$(BUILD_PATH)/plotter.o: plotter.cc plotter.h
$(CC) -c $(ALL_CFLAGS) plotter.cc -o $@ $(WITH_PLPLOT)
cp plotter*.pal $(BUILD_PATH)/
$(BUILD_PATH)/escLogDump.o: escLogDump.c
$(CC) -c $(ALL_CFLAGS) -Wno-attributes escLogDump.c -o $@
$(BUILD_PATH)/quatosLogDump.o: quatosLogDump.cc plotter.h
$(CC) -c $(ALL_CFLAGS) quatosLogDump.cc -o $@
clean:
rm -f $(BUILD_PATH)/loader $(BUILD_PATH)/telemetryDump $(BUILD_PATH)/logDump $(BUILD_PATH)/batCal $(BUILD_PATH)/quatosTool $(BUILD_PATH)/*.o $(BUILD_PATH)/*.exe