# # Copyright (c) 2009-2013, The OpenPilot Team, http://www.openpilot.org # Copyright (c) 2012, PhoenixPilot, http://github.com/PhoenixPilot # # This program 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. # # This program 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 this program; if not, write to the Free Software Foundation, Inc., # 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # ifndef OPENPILOT_IS_COOL $(error Top level Makefile must be used to build this target) endif include ../board-info.mk include $(ROOT_DIR)/make/firmware-defs.mk # ARM DSP library USE_DSP_LIB ?= NO # Set to YES to build a FW version that will erase data flash memory ERASE_FLASH ?= NO # Set to yes to include Gcsreceiver module GCSRECEIVER ?= NO # Enable Diag tasks ? DIAG_TASKS ?= NO # List of mandatory modules to include MODULES += Attitude MODULES += Stabilization MODULES += Actuator MODULES += Receiver MODULES += ManualControl MODULES += FirmwareIAP MODULES += Telemetry # List of optional modules to include OPTMODULES += CameraStab OPTMODULES += ComUsbBridge OPTMODULES += GPS OPTMODULES += TxPID OPTMODULES += Osd/osdoutput #OPTMODULES += Altitude #OPTMODULES += Fault SRC += $(FLIGHTLIB)/notification.c # Include all camera options CDEFS += -DUSE_INPUT_LPF -DUSE_GIMBAL_LPF -DUSE_GIMBAL_FF # Erase flash firmware should be buildable from command line ifeq ($(ERASE_FLASH), YES) CDEFS += -DERASE_FLASH endif # List C source files here (C dependencies are automatically generated). # Use file-extension c for "c-only"-files ifndef TESTAPP ## The standard CMSIS startup SRC += $(CMSIS_DEVICEDIR)/system_stm32f10x.c ## Application Core SRC += ../pios_usb_board_data.c SRC += $(OPMODULEDIR)/System/systemmod.c SRC += $(OPSYSTEM)/coptercontrol.c SRC += $(OPSYSTEM)/pios_board.c SRC += $(FLIGHTLIB)/alarms.c SRC += $(FLIGHTLIB)/instrumentation.c SRC += $(OPUAVTALK)/uavtalk.c SRC += $(OPUAVOBJ)/uavobjectmanager.c SRC += $(OPUAVOBJ)/uavobjectpersistence.c SRC += $(OPUAVOBJ)/eventdispatcher.c ## UAVObjects SRC += $(OPUAVSYNTHDIR)/accessorydesired.c SRC += $(OPUAVSYNTHDIR)/objectpersistence.c SRC += $(OPUAVSYNTHDIR)/gcstelemetrystats.c SRC += $(OPUAVSYNTHDIR)/flighttelemetrystats.c SRC += $(OPUAVSYNTHDIR)/faultsettings.c SRC += $(OPUAVSYNTHDIR)/flightstatus.c SRC += $(OPUAVSYNTHDIR)/systemstats.c SRC += $(OPUAVSYNTHDIR)/systemalarms.c SRC += $(OPUAVSYNTHDIR)/systemsettings.c SRC += $(OPUAVSYNTHDIR)/stabilizationdesired.c SRC += $(OPUAVSYNTHDIR)/stabilizationsettings.c SRC += $(OPUAVSYNTHDIR)/stabilizationsettingsbank1.c SRC += $(OPUAVSYNTHDIR)/stabilizationsettingsbank2.c SRC += $(OPUAVSYNTHDIR)/stabilizationsettingsbank3.c SRC += $(OPUAVSYNTHDIR)/stabilizationstatus.c SRC += $(OPUAVSYNTHDIR)/stabilizationbank.c SRC += $(OPUAVSYNTHDIR)/actuatorcommand.c SRC += $(OPUAVSYNTHDIR)/actuatordesired.c SRC += $(OPUAVSYNTHDIR)/actuatorsettings.c SRC += $(OPUAVSYNTHDIR)/accelstate.c SRC += $(OPUAVSYNTHDIR)/accelgyrosettings.c SRC += $(OPUAVSYNTHDIR)/gyrostate.c SRC += $(OPUAVSYNTHDIR)/attitudestate.c SRC += $(OPUAVSYNTHDIR)/manualcontrolcommand.c SRC += $(OPUAVSYNTHDIR)/watchdogstatus.c SRC += $(OPUAVSYNTHDIR)/manualcontrolsettings.c SRC += $(OPUAVSYNTHDIR)/flightmodesettings.c SRC += $(OPUAVSYNTHDIR)/mixersettings.c SRC += $(OPUAVSYNTHDIR)/firmwareiapobj.c SRC += $(OPUAVSYNTHDIR)/attitudesettings.c SRC += $(OPUAVSYNTHDIR)/camerastabsettings.c SRC += $(OPUAVSYNTHDIR)/cameradesired.c SRC += $(OPUAVSYNTHDIR)/gpspositionsensor.c SRC += $(OPUAVSYNTHDIR)/gpsvelocitysensor.c SRC += $(OPUAVSYNTHDIR)/gpssettings.c SRC += $(OPUAVSYNTHDIR)/hwsettings.c SRC += $(OPUAVSYNTHDIR)/receiveractivity.c SRC += $(OPUAVSYNTHDIR)/mixerstatus.c SRC += $(OPUAVSYNTHDIR)/ratedesired.c SRC += $(OPUAVSYNTHDIR)/txpidsettings.c SRC += $(OPUAVSYNTHDIR)/mpu6000settings.c # Command line option for Gcsreceiver module ifeq ($(GCSRECEIVER), YES) SRC += $(OPUAVSYNTHDIR)/gcsreceiver.c endif # Enable Diag tasks and UAVOs needed ifeq ($(DIAG_TASKS), YES) CDEFS += -DDIAG_TASKS SRC += $(OPUAVSYNTHDIR)/taskinfo.c SRC += $(OPUAVSYNTHDIR)/callbackinfo.c SRC += $(OPUAVSYNTHDIR)/perfcounter.c SRC += $(OPUAVSYNTHDIR)/i2cstats.c endif else ## Test Code SRC += $(OPTESTS)/test_common.c SRC += $(OPTESTS)/$(TESTAPP).c endif include $(ROOT_DIR)/make/apps-defs.mk include $(ROOT_DIR)/make/common-defs.mk