Merged in f5soh/librepilot/update_credits (pull request #529)
[librepilot.git] / flight / targets / boards / revolution / firmware / Makefile
blob5904b2337390406119cfa1edc33c180adc0d559b
2 # Copyright (C) 2015-2016, The LibrePilot Project, http://www.librepilot.org
3 # Copyright (C) 2009-2013, The OpenPilot Team, http://www.openpilot.org
4 # Copyright (C) 2012, PhoenixPilot, http://github.com/PhoenixPilot
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 3 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful, but
12 # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13 # or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 # for more details.
16 # You should have received a copy of the GNU General Public License along
17 # with this program; if not, write to the Free Software Foundation, Inc.,
18 # 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 #####
21 ifndef FLIGHT_MAKEFILE
22 $(error Top level Makefile must be used to build this target)
23 endif
25 include ../board-info.mk
26 include $(FLIGHT_ROOT_DIR)/make/firmware-defs.mk
28 # REVO C++ support
29 USE_CXX = YES
31 # ARM DSP library
32 USE_DSP_LIB ?= NO
34 # List of mandatory modules to include
35 MODULES += Sensors
36 MODULES += StateEstimation
37 MODULES += Airspeed
38 MODULES += Stabilization
39 MODULES += ManualControl
40 MODULES += Receiver
41 MODULES += Actuator
42 MODULES += GPS
43 MODULES += TxPID
44 MODULES += CameraStab
45 MODULES += CameraControl
46 MODULES += Battery
47 MODULES += FirmwareIAP
48 MODULES += Radio
49 MODULES += PathPlanner
50 MODULES += PathFollower
51 MODULES += Osd/osdoutout
52 MODULES += Logging
53 MODULES += Telemetry
54 MODULES += Notify
56 OPTMODULES += AutoTune
57 OPTMODULES += ComUsbBridge
58 OPTMODULES += UAVOHottBridge
59 OPTMODULES += UAVOMSPBridge
60 OPTMODULES += UAVOMavlinkBridge
61 OPTMODULES += UAVOFrSKYSensorHubBridge
63 SRC += $(FLIGHTLIB)/notification.c
65 # Include all camera options
66 CDEFS += -DUSE_INPUT_LPF -DUSE_GIMBAL_LPF -DUSE_GIMBAL_FF
68 # Some diagnostics
69 CDEFS += -DDIAG_TASKS
71 # Misc options
72 CFLAGS += -ffast-math
74 # List C source files here (C dependencies are automatically generated).
75 # Use file-extension c for "c-only"-files
76 ifndef TESTAPP
77 ## Application Core
78 SRC += ../pios_usb_board_data.c
79 SRC += $(OPMODULEDIR)/System/systemmod.c
80 CPPSRC += $(OPSYSTEM)/revolution.cpp
81 SRC += $(OPSYSTEM)/pios_board.c
82 SRC += $(FLIGHTLIB)/alarms.c
83 SRC += $(FLIGHTLIB)/instrumentation.c
84 SRC += $(OPUAVTALK)/uavtalk.c
85 SRC += $(OPUAVOBJ)/uavobjectmanager.c
86 SRC += $(OPUAVOBJ)/uavobjectpersistence.c
87 SRC += $(OPUAVOBJ)/eventdispatcher.c
88 SRC += $(PIOSCOMMON)/pios_flashfs_logfs.c
89 SRC += $(PIOSCOMMON)/pios_flash_jedec.c
91 ## Misc library functions
92 SRC += $(FLIGHTLIB)/paths.c
93 SRC += $(FLIGHTLIB)/plans.c
94 SRC += $(FLIGHTLIB)/WorldMagModel.c
95 SRC += $(FLIGHTLIB)/insgps13state.c
96 SRC += $(FLIGHTLIB)/auxmagsupport.c
97 SRC += $(FLIGHTLIB)/lednotification.c
98 SRC += $(FLIGHTLIB)/sha1.c
100 ## UAVObjects
101 include ./UAVObjects.inc
102 SRC += $(UAVOBJSRC)
103 else
104 ## Test Code
105 SRC += $(OPTESTS)/test_common.c
106 SRC += $(OPTESTS)/$(TESTAPP).c
107 endif
109 # Optional component libraries
110 include $(FLIGHTLIB)/rscode/library.mk
112 #include $(FLIGHTLIB)/PyMite/pymite.mk
115 include $(FLIGHT_ROOT_DIR)/make/apps-defs.mk
116 include $(FLIGHT_ROOT_DIR)/make/common-defs.mk