1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-11-29 07:24:13 +01:00
Commit Graph

448 Commits

Author SHA1 Message Date
Oleg Semyonov
63573fac16 OP-899: move EF and BU to targets/common 2013-04-24 00:07:05 +03:00
Oleg Semyonov
fc845888d3 OP-899: move board targets under targets/boards 2013-04-24 00:07:05 +03:00
Oleg Semyonov
399cafe7d7 OP-896: rename RevoMini to Revolution 2013-04-24 00:07:05 +03:00
Oleg Semyonov
6afbef01eb OP-896: rename Revo to SensorTest 2013-04-24 00:07:04 +03:00
Oleg Semyonov
1ded536056 OP-896: rename OPLink to OPLinkMini 2013-04-24 00:07:04 +03:00
Brian Webb
ba7b712cf1 Changed all references to PipXtreme on flight side to OPLink. 2013-04-24 00:07:03 +03:00
Oleg Semyonov
8d1e1fdbc0 tools: make uncrustify_install target, script and base config file
See also: OPIN-3
2013-04-22 21:35:25 +02:00
Oleg Semyonov
59f8a99ab7 make: warn users about old ARM toolchain instead of cryptic 'no such file' error 2013-04-16 21:26:36 +02:00
Oleg Semyonov
3b3377e6f4 Merge remote-tracking branch 'origin/os/friendly-toolchain-install' into next 2013-04-15 01:24:42 +02:00
Oleg Semyonov
9cc0abe262 makefile: use correct opfw_resource file name as dependancy
When 'opfw_resource' target is used as a dependency, it seems that make
can't determine when the resource file is remade, and sometimes may
start building GCS before the resource really exists. This is an attempt
to fix that issue by referencing the real file instead of phony target.
2013-04-12 17:55:23 +03:00
Oleg Semyonov
e15c40b35d makefile: deprecate CLEAN_BUILD option (use clean_package or package instead) 2013-04-12 17:03:32 +03:00
Oleg Semyonov
34b15fedaf OP-719: make python_install (Windows) 2013-04-12 10:56:10 +02:00
Oleg Semyonov
e4d91218b6 OP-719: make qt_sdk_install mingw_install (Windows) 2013-04-12 10:56:07 +02:00
Oleg Semyonov
a12470f7a7 makefile: if all_fw or all_flight are requested, gcs will depend on opfw_resource 2013-04-12 10:55:58 +02:00
Oleg Semyonov
cab706125b Merge remote-tracking branch 'origin/os/get-rid-of-build-ground-dir' into next 2013-04-05 17:07:34 +02:00
Oleg Semyonov
eb9c6e48f2 tools: now OPENPILOT_* environment variables can use Windows style slashes 2013-04-05 00:42:56 +03:00
Oleg Semyonov
f57610dc78 tools: Makefile and sh.cmd minor updates (mostly comments) 2013-04-04 23:57:43 +03:00
Oleg Semyonov
7a5c04034f tools: update help message 2013-04-04 18:26:59 +03:00
Oleg Semyonov
f0780c96c6 tools: use global environment variables to set download and tools location
This allows to define OPENPILOT_DL_DIR and OPENPILOT_TOOLS_DIR to override
local tools download and installation directory. So the same toolchains
can be used for all working copies. Particularly useful for CI server
agents, but also for local installations.

Paths should use forward (unix-style) slashes.

If no OPENPILOT_* variables found, makefile internal DL_DIR and TOOLS_DIR
are used. They still can be overriden by the make command line parameters.
2013-04-04 16:33:19 +02:00
Oleg Semyonov
b67ce783f5 OP-719: upgrade ARM SDK to 4.7-2012q4, use 'make arm_sdk_install' to install
+review OPReview
2013-03-31 16:59:00 +02:00
Oleg Semyonov
3e815ca8d5 build: get rid of build/ground subdirectory, fix qt-creator builds
This changeset:
- moves all ground targets one level up, under build directory. The
  build/ground was created as a workaround, now unnecessary;
- fixes QtCreator builds, they are separated from command line builds;
- moves GCS autogenerated files into openpilotgcs-synthetics directory.

The resulting build subdirectory now looks like:

    build
        openpilotgcs             <- Qt-Creator build directory
        openpilotgcs-synthetics  <- version-info and opfw_resource
        openpilotgcs_debug
        openpilotgcs_release     <- Makefile build directory
        uavobject-synthetics
        uavobjgenerator

NOTE: you should update the shadow build path in QtCreator to build,
      not build/ground as before.

+review OPReview
2013-03-30 17:33:38 +02:00
Oleg Semyonov
587b12dd3e Makefile: using release build configuration for uavobjgenerator 2013-03-28 12:00:38 +02:00
Oleg Semyonov
9f0710f9d5 Makefile: add comment about Android GCS compatible version hashes 2013-03-24 17:00:15 +02:00
Oleg Semyonov
c2284d0c3f Makefile: fix package directory in the help message 2013-03-24 16:32:30 +02:00
Oleg Semyonov
8f977a4411 Final step: lot of small fixes, last commit in this commit series
This is the first cleanup pass through makefiles and pios.
Probably it is difficult to track changes due to the nature of them.
I would recommend to look at resulting files and compiled code instead.

NOTE: original branch was rebased and lot of conflicts were fixed on
the way. So do not expect that every commit in this series will be
buildable (unlike original branch). Only final result was tested.

The main goal was to remove as much duplication of code (and copy/paste
errors) as possible, moving common parts out of Makefiles. It still is
not perfect, and mostly no code changes made - Makefiles and #ifdefs only.
But please while testing make sure that all code works as before, and no
modules/options are missed by accident.

Brief list of changes:
- Moved common parts of Makefiles into the set of *.mk files.
- Changed method of passing common vars from top Makefile to lower ones.
- Some pios cleanup, mostly #ifdefs, and all pios_config.h files.
- Many obsolete files removed (for instance, AHRS files, op_config.h).
- Many obsolete or unused macros removed or fixed/renamed (ALL_DIGNOSTICS).
- Unified pios_config.h template. Please don't remove lines for board
  configs, only comment/uncomment them. Adding new PIOS options, please
  propagate them to all board files keeping the same order.
- Some formatting, spacing, indentation (no line endings change yet).
- Some cosmetic fixes (no more C:\X\Y\filename.c printings on Windows).
- Added some library.mk files to move libs into AR achives later.
- EntireFlash target now uses cross-platform python script to generate bin
  files. So it works on all supported platforms: Linux, OSX, Windows.
- Top level packaging is completely rewritten. Now it is a part of top
  Makefile. As such, all dependencies are checked and accounted, no
  more 'make -j' problems should occur.
- Default GCS_BUILD_CONF is release now, may be changed if necessary
  using 'make GCS_BUILD_CONF=debug gcs'.
- GCS build paths are separated into debug and release, so no more obj
  file clashes. Packaging system supports only release builds.
- New target is introduced: 'clean_package'. Now 'make package' does not
  clean build directory. Use clean_package instead for distributable builds.
- Targets like 'all', 'opfw_resource', etc now will print extra contex
  in parallel builds too.
- If any of 'package', 'clean_package', 'opfw_resource' targets are given
  on command line, GCS build will depend on the resource, so all fw_*.opfw
  targets will be built and embedded into GCS. By default GCS does not
  depend on resource, and will be built w/o firmware (unless the resource
  files already exist and the Qt resource file is generated).
- fw_simposix (ELF executable) is now packaged for linux. Run'n'play!
- Make help is refined and is now up to date.

Still broken:
- UnitTests, should be fixed
- SimPosix: buildable, but should be reworked.

Next planned passes to do:
- toolchain bootstrapping and packaging (including windows - WIP)
- CMSIS/StdPeriph lib cleanup
- more PIOS cleanup
- move libs into AR archives to save build time
- sim targets refactir and cleanup
- move android-related directories under <top>/android
- unit test targets fix
- source code line ending changes (there are many different, were not changed)
- coding style

Merging this, please use --no-ff git option to make it the real commit point

Conflicts:
	A lot of... :-)
2013-03-24 13:06:24 +02:00
Oleg Semyonov
151bd73bda Packaging: package ELF simposix file (executable), not OPFW (binary) 2013-03-24 13:06:23 +02:00
Oleg Semyonov
105e7d95c9 Packaging: now should work for all 3 platforms 2013-03-24 13:06:20 +02:00
Oleg Semyonov
096d0d7442 Packaging: move common part into the top Makefile
This includes all dependencies and generates package directory
with renamed firmware files.
2013-03-24 13:06:19 +02:00
Oleg Semyonov
bd033badb9 BootloaderUpdater: move one level up, now next to EntireFlash and Bootloaders 2013-03-24 13:06:18 +02:00
Oleg Semyonov
5f24378a4f EntireFlash: now works on all supported platforms 2013-03-24 13:06:17 +02:00
Oleg Semyonov
80db2ff79c Packaging: define package directory 2013-03-24 13:06:16 +02:00
Oleg Semyonov
8ea19c396c Makefile: now 'make all' also shows extra context 2013-03-24 13:06:14 +02:00
Oleg Semyonov
0957bbb498 Makefile: split GCS build directory into debug and release
Now by default GCS is built for release.
AeroSimRC also is placed under misc (as it is installed on Windows).
2013-03-24 13:06:13 +02:00
Oleg Semyonov
1407d4ce61 Makefile: update help output 2013-03-24 13:06:12 +02:00
Oleg Semyonov
4082b1498a Makefile: move opfw_resource rules from packaging to top Makefile
opfw_resource make target now depends on built firmware images. They are
referenced directly from Qt resource file generated. No extra copies
are now necessary.
2013-03-24 13:06:11 +02:00
Oleg Semyonov
853f9bf31e Makefile: swap some lines for readability, no real code changes 2013-03-24 13:06:09 +02:00
Oleg Semyonov
9b3d3e62ab Makefile: fix Makefile for BootloaderUpdater (STM32F10x only targets)
Conflicts:
	flight/targets/Bootloaders/BootloaderUpdater/Makefile
2013-03-24 13:05:52 +02:00
Oleg Semyonov
67d7db88f1 Makefile: pass TOPDIR to sub-make to overcome Windows filename problem
Makefile uses toprel function to display nice short relative paths when
building. But different ways of getting current path (using . or pwd
or MAKEFILE_LIST, etc) give different cases for Windows drive letters.
As result, some paths are not translated by toprel function and look
not nice. Passing known TOPDIR value to sub-make fixes this:

 ...
 CC flight/Modules/FirmwareIAP/firmwareiap.c
 CC flight/Modules/Telemetry/telemetry.c
 CC flight/Modules/System/systemmod.c
 CC d:/Work/OpenPilot/toolchains/flight/targets/CopterControl/System/coptercontrol.c
 CC d:/Work/OpenPilot/toolchains/flight/targets/CopterControl/System/pios_board.c
 ...

Instead of

 ...
 CC flight/Modules/FirmwareIAP/firmwareiap.c
 CC flight/Modules/Telemetry/telemetry.c
 CC flight/Modules/System/systemmod.c
 CC flight/targets/CopterControl/System/coptercontrol.c
 CC flight/targets/CopterControl/System/pios_board.c
 ...
2013-03-24 13:04:09 +02:00
Oleg Semyonov
f7bdcdb782 Makefile: firmware makefiles cleanup (CC)
Conflicts:
	flight/targets/CopterControl/Makefile
2013-03-24 13:04:03 +02:00
Oleg Semyonov
75ef685c6e Makefile: bootloader makefiles cleanup
Conflicts:
	flight/targets/Bootloaders/CopterControl/Makefile
	flight/targets/Bootloaders/OSD/Makefile
	flight/targets/Bootloaders/PipXtreme/Makefile
	flight/targets/Bootloaders/RevoMini/Makefile
	flight/targets/Bootloaders/Revolution/Makefile
2013-03-24 13:04:01 +02:00
Oleg Semyonov
60a7d7e454 Makefile: export important make variables from the top Makefile 2013-03-24 13:03:59 +02:00
Oleg Semyonov
23c605ffba Makefile: indents, comments, spacing, $(CMDS) variables, etc.
How to invoke external command instead of shell builtin on Windows:
ECHO := /bin/echo

Conflicts:
	Makefile
2013-03-24 13:03:58 +02:00
Alessio Morale
1a38b7eb46 Merge remote-tracking branch 'origin/amorale/02_os-stac_logfs-unittests' into next
Conflicts:
	flight/targets/RevoMini/Makefile
	flight/targets/Revolution/Makefile
2013-03-23 15:13:05 +01:00
Alessio Morale
e06ab7f706 Merge remote-tracking branch 'origin/amorale/01-directory_move_sanity_simposix' into next
Conflicts:
	Makefile
	flight/PiOS.posix/inc/pios_com.h
	flight/targets/RevoMini/UAVObjects.inc
	flight/targets/Revolution/Makefile
2013-03-23 14:37:19 +01:00
Stacey Sheldon
990048cf29 ut: fix up unit test clean target name 2013-03-03 14:33:04 +01:00
Oleg Semyonov
8901cde35b ut: remove unused targets 2013-03-03 14:33:04 +01:00
Stacey Sheldon
ea09a53adc unittest: build gtest-all and gtest_main directly
Conflicts:
	make/unittest.mk
2013-03-03 14:33:03 +01:00
Stacey Sheldon
9b94eeb745 ut: convert logfs unit test to gtest
Conflicts:
	Makefile
	make/unittest.mk
2013-03-03 14:33:03 +01:00
Stacey Sheldon
14c5af6148 ut: convert make rules to template and add TAP file generation
Make targets changed to:
 make ut_<test>
 make ut_<test>_tap
 make ut_<test>_run
 make ut_<test>_clean
 make all_ut
 make all_ut_tap
 make all_ut_run
 make all_ut_clean

Conflicts:
	Makefile
2013-03-03 14:33:03 +01:00
Stacey Sheldon
264d76382b makefile: allow arch-specific path to qmake
This will be required once we move to Qt5.
2013-03-03 14:33:03 +01:00
Stacey Sheldon
e00372a540 makefile: define ARCH before including make/tools.mk
ARCH is required in order to pick up the right versions
of the tools for each architecture.
2013-03-03 14:33:03 +01:00
Stacey Sheldon
f934ebfd4c makefile: ensure that the builds are not run as root
When running the build as root, any bugs in the Makefiles
can have disasterous results.  This will be even more
important once we start automatically running unit tests
as part of our build.

This change ensures that the builds cannot be run as root.
2013-03-03 14:33:03 +01:00
Stacey Sheldon
7f53aa422a ut: add basic unit test for logfs
Build it with:
  make ut_logfs

Create a raw flash file like this:
  dd if=/dev/zero bs=1 count=2MiB | tr '\000' '\377' > theflash.bin

Run it with:
  ./build/unit_tests/logfs/logfs.elf && echo 'all good'

Conflicts:
	Makefile
2013-03-03 14:33:02 +01:00
David Willis
70294ed1ad Revert last change that broke compatibility with 12.10.2 2013-02-27 21:18:23 +00:00
David Willis
dec828f9ab Update git version of last UAVObject definition change 2013-02-27 00:12:11 +00:00
Oleg Semyonov
4314faa3f9 Merge remote-tracking branch 'origin/os/android-bamboo-builds' into next 2013-02-04 16:50:58 +02:00
Oleg Semyonov
e09705d604 Makefile: add build-info target (for CI builds) 2013-02-04 15:56:11 +02:00
Oleg Semyonov
c1b0972492 android: make it compatible with RELEASE-12.10.2 2013-02-03 05:11:47 +02:00
Oleg Semyonov
d7efcd28af android: provide debug/release build option 2013-02-03 05:10:38 +02:00
Oleg Semyonov
3daaea3385 android: downgrade Google API version (16 -> 14)
Make it Android 4.0 compatible (was: 4.1.2 and above).
2013-02-03 05:10:37 +02:00
Oleg Semyonov
a0bbd9ec94 android: update SDK version (20.0.3 -> 21.0.1) 2013-02-03 02:10:06 +02:00
Stacey Sheldon
f500ac1e23 rename: move UAVObjects and UAVTalk directories under targets 2013-01-28 02:33:06 +02:00
Stacey Sheldon
e55519b1e2 makefile: split tool install rules into separate makefile
The rules for downloading/building/installing the various
tools were cluttering the top-level makefile.

Conflicts:

	Makefile
2013-01-28 02:29:08 +02:00
Stacey Sheldon
0fda8035c2 makefile: update to released openocd 0.6.1 2013-01-28 02:13:17 +02:00
Stacey Sheldon
2f93d983b0 makefile: update ARM toolchain to 4.6-2012-q4 2013-01-28 02:11:26 +02:00
Stacey Sheldon
dbcf440bb9 makefile: factor out paths for major flight components
Conflicts:

	flight/targets/CopterControl/Makefile
2013-01-28 02:01:39 +02:00
Stacey Sheldon
833b730870 makefile: remove duplicate definitions 2013-01-28 01:56:50 +02:00
Stacey Sheldon
69a2691bc2 rename: move board-specific dirs into flight/targets
Conflicts:

	flight/targets/Bootloaders/Revolution/Makefile
	flight/targets/CopterControl/Makefile
2013-01-28 01:52:44 +02:00
Stacey Sheldon
2119067722 Merge remote-tracking branch 'op-revo/james/revo' into revo-next
Conflicts:
	Makefile
	flight/Modules/Attitude/revolution/attitude.c
	flight/Modules/Battery/battery.c
	flight/Modules/FixedWingPathFollower/fixedwingpathfollower.c
	flight/Modules/GPS/GPS.c
	flight/Modules/ManualControl/inc/manualcontrol.h
	flight/Modules/ManualControl/manualcontrol.c
	flight/Modules/OveroSync/overosync.c
	flight/Modules/PathPlanner/inc/pathplanner.h
	flight/Modules/PathPlanner/pathplanner.c
	flight/Modules/Sensors/sensors.c
	flight/Modules/VtolPathFollower/vtolpathfollower.c
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/PiOS/Boards/pios_board.h
	flight/PiOS/STM32F4xx/library.mk
	flight/PiOS/inc/pios_hmc5883.h
	flight/PiOS/inc/pios_l3gd20.h
	flight/PiOS/inc/pios_rfm22b_priv.h
	flight/Revolution/Makefile
	flight/Revolution/Makefile.osx
	flight/Revolution/System/inc/pios_config.h
	flight/Revolution/UAVObjects.inc
	ground/openpilotgcs/src/libs/utils/coordinateconversions.cpp
	ground/openpilotgcs/src/libs/utils/homelocationutil.cpp
	ground/openpilotgcs/src/libs/utils/homelocationutil.h
	ground/openpilotgcs/src/plugins/config/configrevowidget.cpp
	ground/openpilotgcs/src/plugins/hitlnew/il2simulator.cpp
	ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.cpp
	ground/openpilotgcs/src/plugins/plugins.pro
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	package/Makefile
	shared/uavobjectdefinition/fixedwingpathfollowersettings.xml
	shared/uavobjectdefinition/fixedwingpathfollowerstatus.xml
	shared/uavobjectdefinition/flightstatus.xml
	shared/uavobjectdefinition/hwsettings.xml
	shared/uavobjectdefinition/manualcontrolsettings.xml
	shared/uavobjectdefinition/pathdesired.xml
	shared/uavobjectdefinition/vtolpathfollowersettings.xml
	shared/uavobjectdefinition/waypoint.xml
2012-10-30 00:08:43 -04:00
Stacey Sheldon
4bf2db57ad Merge remote-tracking branch 'op-public/next' into revo-next 2012-10-20 18:34:45 -04:00
Stacey Sheldon
98176d9829 makefile: include hint for enabling verbose build output 2012-10-20 15:06:18 -04:00
Stacey Sheldon
127ca1e7e1 Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	ground/openpilotgcs/src/plugins/hitl/plugin.pro
	ground/openpilotgcs/src/plugins/hitlnew/fgsimulator.cpp
	ground/openpilotgcs/src/plugins/hitlnew/hitlconfiguration.cpp
	ground/openpilotgcs/src/plugins/hitlnew/hitloptionspage.cpp
	ground/openpilotgcs/src/plugins/hitlnew/hitloptionspage.ui
	ground/openpilotgcs/src/plugins/hitlnew/il2simulator.cpp
	ground/openpilotgcs/src/plugins/hitlnew/simulator.cpp
	ground/openpilotgcs/src/plugins/hitlnew/simulator.h
	ground/openpilotgcs/src/plugins/hitlnew/xplanesimulator.cpp
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-10-20 13:56:18 -04:00
Stacey Sheldon
ebbefd6d54 makefile: quiet down the uavobjgenerator build output 2012-10-20 13:25:24 -04:00
Stacey Sheldon
db571d7a3c makefile: quiet down the GCS build output
This removes the detailed output of the GCS build by
default so that warnings and errors become more evident.

Full output can be enabled by adding "V=1" to the make
command line.  Same mechanism as is used for the firmware
builds.
2012-10-20 13:19:16 -04:00
Stacey Sheldon
9e75547bb4 makefile: remove nearly all reliance on symlinks
Symlinks to nonexistent files or directories don't
work on windows.
2012-10-13 18:59:15 -04:00
Stacey Sheldon
18b5bd4690 makefile: stop using extended regexp in sed
Looks like mac doesn't support the -r option to sed to
turn on extended regexps.  It only supports the -E option
which linux doesn't.

So, simplest fix is to avoid extended regexps and just
use as many dots as possible from now on.
2012-10-13 15:58:20 -04:00
Stacey Sheldon
af1b290381 makefile: stop using -I or -i in xargs
Windows doesn't like -I.  Mac doesn't like -i.

This now avoids using either option to xargs by
using awk to reorder the ln command line args prior
to invoking xargs.
2012-10-12 23:57:02 -04:00
Stacey Sheldon
ccdd3de47e makefile: fix androidgcs build issues on windows
Use '-i' (deprecated) in xargs instead of '-I' so old
versions of xargs work.

Use only relative paths to files passed to tar since the
windows version doesn't seem to handle 'c:/' at the start
of the path.
2012-10-12 22:49:16 -04:00
James Cotton
11dbdf3a52 AndroidGCS: Only use a 16 character name for UAVOs. Was breaking before on hardware. 2012-10-11 12:38:16 -05:00
PT_Dreamer
8863601715 Merge branch 'next' of ssh://git.openpilot.org/OpenPilot into pt/wiz_autoupdate 2012-10-10 18:22:53 +01:00
James Cotton
6e3d9a7c72 Merge branch 'dynamic_uavo_next' into next 2012-10-10 08:31:07 -05:00
James Cotton
3110678321 Merge branch 'dynamic_uavo_next' into revo
Conflicts:
	androidgcs/src/org/openpilot/uavtalk/uavobjects/ActuatorSettings.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/AltitudeHoldSettings.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/FlightBatterySettings.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/FlightBatteryState.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/FlightStatus.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/HomeLocation.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/HwSettings.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/ManualControlSettings.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/OveroSyncStats.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/PipXSettings.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/PipXStatus.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/PositionActual.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/RelayTuning.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/RevoCalibration.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/SystemAlarms.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/TaskInfo.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/UAVObjectsInitialize.java
	androidgcs/src/org/openpilot/uavtalk/uavobjects/Waypoint.java
	ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.cpp
2012-10-10 08:27:11 -05:00
Stacey Sheldon
201ee521d6 makefile: fall-back to android dx in the PATH 2012-10-10 01:10:53 -04:00
Stacey Sheldon
5314d9ad54 makefile: make android builds more quiet 2012-10-10 00:46:20 -04:00
Stacey Sheldon
f7467cbb47 makefile: generate multiple versions of UAVOs
This will allow a single GCS to have access to multiple
sets of UAVO libraries.
2012-10-10 00:35:14 -04:00
Stacey Sheldon
4f6bca2a8a makefile: choose correct qt installer for 64-bit machines 2012-10-07 17:29:27 -04:00
Stacey Sheldon
4f53a88c35 makefile: remove debug cruft 2012-10-05 21:00:17 -04:00
Stacey Sheldon
6b4f60b263 makefile: add support for building androidgcs 2012-10-05 20:54:01 -04:00
Stacey Sheldon
bc2080fec7 makefile: add function for computing relative paths 2012-10-05 20:54:00 -04:00
Stacey Sheldon
40251afd6e makefile: add update target for android SDK
This installs the components required for actually building
a full APK.
2012-10-05 19:48:08 -04:00
Stacey Sheldon
4305cf942d makefile: Add installer target for the android SDK 2012-10-05 19:48:08 -04:00
Stacey Sheldon
4eb485bdde package: auto-generate Qt resource file for OPFW images 2012-10-05 16:23:42 -04:00
James Cotton
0fa4b062a4 Merge branch 'next' into revo 2012-09-26 00:43:02 -05:00
Stacey Sheldon
ffe88eec5e Merge remote-tracking branch 'op-public/next' into revo-next 2012-09-16 17:14:20 -04:00
Stacey Sheldon
3e236bd3e6 makefile: change QT SDK install dir so we can support multiple installs
QT SDK version was changed but the install dir wasn't changed
to match.  This makes it impossible to keep both versions
installed at the same time which is essential in order to work
on/build old and new branches.

This update gives the new SDK version a unique install dir so
it can coexist with older versions.
2012-09-16 16:01:24 -04:00
Stacey Sheldon
754f58c33a Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	flight/Modules/ManualControl/inc/manualcontrol.h
	flight/Revolution/Makefile.osx
	ground/openpilotgcs/src/plugins/plugins.pro
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	ground/openpilotgcs/src/plugins/uploader/uploadergadgetwidget.cpp
	shared/uavobjectdefinition/flightstatus.xml
	shared/uavobjectdefinition/hwsettings.xml
	shared/uavobjectdefinition/manualcontrolsettings.xml
	shared/uavobjectdefinition/taskinfo.xml
2012-09-16 09:56:35 -04:00
James Cotton
51683ffb65 Merge branch 'next' into revo
Conflicts:
	ground/openpilotgcs/src/plugins/config/input.ui
	ground/openpilotgcs/src/plugins/opmap/opmapgadgetwidget.h
	ground/openpilotgcs/src/plugins/plugins.pro
2012-09-15 16:31:30 -05:00
PT_Dreamer
c88c4f0fc0 Merge branch 'pt/CC3D_Release' of ssh://git.openpilot.org/OpenPilot into pt/CC3D_Release
Conflicts:
	ground/openpilotgcs/src/plugins/config/config.pro
	ground/openpilotgcs/src/plugins/config/configccattitudewidget.cpp
	ground/openpilotgcs/src/plugins/coreplugin/connectionmanager.cpp
	ground/openpilotgcs/src/plugins/coreplugin/connectionmanager.h
2012-09-14 14:12:16 +01:00
James Cotton
42213b21f7 Make OSG selection a QMake config option (OSG)
To include this module from the command line:
    make GCS_QMAKE_OPTS="CONFIG+=OSG" -j7 gcs
2012-09-13 09:46:03 -05:00
Oleg Semyonov
a8487fc990 qt_sdk_install: update QtSDK to 1.2.1 and Qt to 4.8.1 2012-09-12 23:09:06 +03:00
James Cotton
b463e36d67 Add revomini to the build system. 2012-08-25 12:24:13 -05:00
James Cotton
d58831d3f1 GCS: Add conditial flag to include OGS plugins. Must compile with qmake CONFIG+=OSG
To include this module from the command line:
make GCS_QMAKE_OPTS="CONFIG+=OSG" -j7 gcs
2012-08-20 15:36:18 -05:00
James Cotton
4d11406062 Take the makefile from revo-next 2012-08-03 16:23:11 -05:00
Sambas
60c4d7f922 bu targets fix 2012-07-30 11:41:10 +03:00
Stacey Sheldon
54a161a3d4 Merge remote-tracking branch 'op-public/next' into revo-next
Conflicts:
	shared/uavobjectdefinition/manualcontrolsettings.xml
2012-07-08 18:14:09 -04:00
James Cotton
c9bf5f5d06 Merge branch 'next' into revo 2012-07-01 14:44:22 +02:00
Stacey Sheldon
d9dca0b553 Merge branch 'wireshark-plugins' into next 2012-06-30 22:42:38 -04:00
James Cotton
cd311642dd Merge branch 'next' into revo 2012-06-28 10:35:47 +02:00
Stacey Sheldon
22161c56b3 makefile: enable extra context when building multiple targets
Extra message context is also useful even when building more
than one target in the same invocation of make.

This example would enable extra context:
   make fw_coptercontrol bl_coptercontrol
2012-06-20 23:38:49 -04:00
Stacey Sheldon
384305d8ee makefile: add additional context to output when building all_* targets
When building the various all_* targets, it was hard to tell which
board/build-type that each line of output applied to.  Now, the
all_* target types will include something like:
 CC        [fw|cc  ]  flight/PiOS/STM32F10x/pios_gpio.c
which includes the necessary additional context.

This will help with identifying the context for warnings and errors
when building a group of targets.

Conflicts:

	Makefile
2012-06-20 23:38:21 -04:00
Stacey Sheldon
91a3dec69f makefile: pass short name (CC/PIPX/REVO) into sub-makes 2012-06-20 23:37:37 -04:00
Stacey Sheldon
bbc3877751 makefile: pass build type (BL/FW/BU/EF) into sub-makes 2012-06-20 23:37:29 -04:00
Stacey Sheldon
52a3cff6c6 makefile: remove simposix from all_flight on non-Linux platforms
The simposix build doesn't work on Windows or Mac so it shouldn't
be in the all_flight build target that is used as a pre-submit
check on all platforms.
2012-06-20 23:37:21 -04:00
Stacey Sheldon
78e12e9195 makefile: filter out unbuildable targets for SimPosix 2012-06-20 23:37:03 -04:00
Stacey Sheldon
c75ad12946 makefile: fix dependency for EF images so they work with all_* targets 2012-06-20 23:36:51 -04:00
Theodore A. Roth
a0ad94ad8a ef: fix broken all_ef goal in makefile 2012-06-20 22:23:59 -04:00
Stacey Sheldon
4c47a36bda uavobjgenerator: Add generator for wireshark UAVO plugin
Using 'make uavobjects_wireshark' now generates a complete
wireshark dissector that can decode all fields of the available
UAVObjects.
2012-06-19 00:21:35 -04:00
James Cotton
a029fc4656 Merge branch 'next' into revo
Conflicts:
	Makefile
2012-06-11 12:05:38 -05:00
James Cotton
f9dc3b1f89 Enable simposix on next for linux only. Keeps all_flight building on all
platforms
2012-06-10 14:41:00 -05:00
James Cotton
cac1225607 Remove revolution from main makefile in next as it is currently broken. Also
remove simposix as it triggers error:
FATAL:/usr/bin/../libexec/gcc/darwin/x86_64/as: I don't understand 'a' flag!
2012-06-04 12:27:31 -05:00
James Cotton
b45a4aa35e no simposix for all_flight
Conflicts:

	Makefile
2012-06-04 10:52:26 -05:00
Stacey Sheldon
434d89bd30 makefile: enable extra context when building multiple targets
Extra message context is also useful even when building more
than one target in the same invocation of make.

This example would enable extra context:
   make fw_coptercontrol bl_coptercontrol
2012-06-03 18:25:23 -05:00
Stacey Sheldon
ec0889ea85 makefile: add additional context to output when building all_* targets
When building the various all_* targets, it was hard to tell which
board/build-type that each line of output applied to.  Now, the
all_* target types will include something like:
 CC        [fw|cc  ]  flight/PiOS/STM32F10x/pios_gpio.c
which includes the necessary additional context.

This will help with identifying the context for warnings and errors
when building a group of targets.
2012-06-03 18:25:23 -05:00
Stacey Sheldon
fbb6df8ebf makefile: pass short name (CC/PIPX/REVO) into sub-makes 2012-06-03 18:25:23 -05:00
Stacey Sheldon
34a4f159b2 makefile: pass build type (BL/FW/BU/EF) into sub-makes 2012-06-03 18:25:23 -05:00
Stacey Sheldon
3047b8b815 makefile: enable extra context when building multiple targets
Extra message context is also useful even when building more
than one target in the same invocation of make.

This example would enable extra context:
   make fw_coptercontrol bl_coptercontrol
2012-06-03 17:43:14 -04:00
Stacey Sheldon
e3393bb255 makefile: add additional context to output when building all_* targets
When building the various all_* targets, it was hard to tell which
board/build-type that each line of output applied to.  Now, the
all_* target types will include something like:
 CC        [fw|cc  ]  flight/PiOS/STM32F10x/pios_gpio.c
which includes the necessary additional context.

This will help with identifying the context for warnings and errors
when building a group of targets.
2012-06-03 17:43:14 -04:00
Stacey Sheldon
c5b1522f6a makefile: pass short name (CC/PIPX/REVO) into sub-makes 2012-06-03 17:43:13 -04:00
Stacey Sheldon
1d3694e394 makefile: pass build type (BL/FW/BU/EF) into sub-makes 2012-06-03 17:43:13 -04:00
Corvus Corax
ba50e191af Revert "no simposix for all_flight"
This reverts commit d8753b3815.
2012-06-02 22:23:51 +02:00
Corvus Corax
5b5b41a4c5 Merge remote branch 'origin/stac/use-gnu-arm-toolchain' into revo-next 2012-05-31 16:48:37 +02:00
Sambas
cac9000c16 filter-out osd 2012-05-30 16:41:12 +03:00
Sambas
ed1a4dada6 Merge remote-tracking branch 'remotes/origin/sambas/osd_test_v1' into revo-next
Conflicts:
	flight/PiOS/STM32F4xx/pios_adc.c
2012-05-30 16:30:09 +03:00
James Cotton
58e9c3b3fb Merge branch 'revo-next' of ssh://git.openpilot.org/revo into revo-next 2012-05-28 22:14:18 -05:00
Stacey Sheldon
8ca60ec183 makefile: remove simposix from all_flight on non-Linux platforms
The simposix build doesn't work on Windows or Mac so it shouldn't
be in the all_flight build target that is used as a pre-submit
check on all platforms.
2012-05-28 22:21:46 -04:00
Sambas
d8753b3815 no simposix for all_flight 2012-05-28 19:33:42 +03:00
Sambas
147100bc2f Merge remote-tracking branch 'remotes/origin/revo-next' into osd_test_v1
Conflicts:
	Makefile
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
2012-05-28 19:06:25 +03:00
James Cotton
8a6073fbaf Merge remote-tracking branch 'revo/revo-next' into testing
Conflicts:
	Makefile
	flight/PiOS.osx/osx/Libraries/FreeRTOS/Source/portable/GCC/Posix/port.c
	flight/PiOS.osx/osx/Libraries/FreeRTOS/Source/task.c
	flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/portable/GCC/Posix/port_posix.c
	flight/PiOS.posix/posix/Libraries/FreeRTOS/Source/tasks.c
	flight/Revolution/Makefile
	ground/openpilotgcs/src/plugins/uavobjects/uavobjects.pro
	ground/openpilotgcs/src/plugins/uploader/devicewidget.cpp
	shared/uavobjectdefinition/taskinfo.xml
2012-05-28 09:13:26 -05:00
Stacey Sheldon
bc09c440d6 makefile: fix broken all_ef target due to typo 2012-05-27 21:51:55 -04:00
Stacey Sheldon
dca2d0ee66 makefile: filter out unbuildable targets for SimPosix 2012-05-27 21:51:29 -04:00
Stacey Sheldon
35ed945aff revo bu: BU image doesn't currentyl work on F4 so disable it for revo 2012-05-27 21:39:55 -04:00
Stacey Sheldon
1e33ba62d8 makefile: fix dependency for EF images so they work with all_* targets 2012-05-27 21:39:15 -04:00
Corvus Corax
414310fcba test add of SimPosix architecture - doesnt work yet 2012-05-22 18:28:42 +02:00
Stacey Sheldon
48cb20dc81 hid+vcp: change default USB descriptor to HID+VCP
Now that we have a USB descriptor for HID+VCP that works
on Ubuntu 11.10, MacOS 10.7.3, Win7-SP1-32bit,
WinXP-SP3-32bit, Win7-SP1-64bit.

VCP is known to not work on WinXP without service pack 3.
2012-05-19 16:06:30 -04:00
James Cotton
0f2c41ac5d Merge branch 'revolution' into navigation
Conflicts:
	flight/Modules/ManualControl/manualcontrol.c
	flight/Project/OpenPilotOSX/OpenPilotOSX.xcodeproj/project.pbxproj
2012-05-07 21:53:10 -05:00
Stacey Sheldon
cef5a6281f toolchain: switch to gnu arm toolchain for flight software
The GNU toolchain is supported by ARM and provides binary
releases for Linux and Windows.

See: https://launchpad.net/gcc-arm-embedded
2012-05-06 18:33:01 -04:00
James Cotton
3155324384 Merge branch 'next' into cc3d
Conflicts:
	Makefile
	ground/openpilotgcs/src/plugins/config/configahrswidget.cpp
	shared/uavobjectdefinition/ahrscalibration.xml
	shared/uavobjectdefinition/ahrssettings.xml
	shared/uavobjectdefinition/attituderaw.xml
2012-05-03 16:31:49 -05:00
Stacey Sheldon
63285ea451 bu: remove LED support from bootloader updaters
Bootloader updaters were all broken due to recent
changes in LED configuration handling.  Removing
LED support from the BU loads allows them to build
again, but they provide no feedback about when they're
finished writing flash.
2012-04-22 18:42:58 -05:00
Stacey Sheldon
7f03a77492 bu: remove LED support from bootloader updaters
Bootloader updaters were all broken due to recent
changes in LED configuration handling.  Removing
LED support from the BU loads allows them to build
again, but they provide no feedback about when they're
finished writing flash.
2012-04-16 15:09:10 -04:00
James Cotton
7ba32f8735 Check in compilation files for OSX simulation. Update to work on revolution
tree.
2012-04-03 09:16:24 -05:00
Stacey Sheldon
057cfafcf1 qt_sdk: hide install command when not verbose 2012-04-01 19:14:09 -04:00
Stacey Sheldon
a64602de78 qt_sdk: notify user of proper path for installation 2012-04-01 19:13:39 -04:00
Stacey Sheldon
bf84045336 qt_sdk: upgrade to SDK v1.2 (QT v4.8.0)
Qt 4.8+ is now required to build the GCS.

This version of the SDK installer has dropped support
for the --installdir option so users will need to manually
specify the path for installation as:
  <top>/tools/qtsdk-v1.2
in order for the Makefile to pick up this toolchain automatically.

This update drops support for Ubuntu 9.10 (Karmic) due to an
incompatibility with the glibc that ships with that release.

Support should still be possible with Ubuntu 10.04 (Lucid) and
newer.
2012-04-01 19:01:43 -04:00
Stacey Sheldon
f971fc14d5 openocd: update to latest git snapshot (f1c01333) 2012-03-27 00:53:27 -04:00
Stacey Sheldon
871ad80a46 openocd: clone entire git tree before checkout
Using --depth 1 in the git clone resulted in the
desired commit no longer being available in the
resulting clone.
2012-03-27 00:53:27 -04:00
Stacey Sheldon
d299230db8 qt_sdk: upgrade to SDK v1.2 (QT v4.8.0)
Qt 4.8+ is now required to build the GCS.

This version of the SDK installer has dropped support
for the --installdir option so users will need to manually
specify the path for installation as:
  <top>/tools/qtsdk-v1.2
in order for the Makefile to pick up this toolchain automatically.

This update drops support for Ubuntu 9.10 (Karmic) due to an
incompatibility with the glibc that ships with that release.

Support should still be possible with Ubuntu 10.04 (Lucid) and
newer.
2012-03-27 00:18:44 -04:00
Sambas
4c6ee740e2 Merge remote-tracking branch 'remotes/origin/james/revolution' into osd_test_v1 2012-03-25 14:28:25 +03:00
James Cotton
c7ff2a46c7 Merge remote-tracking branch 'origin/laurent/modelview' into revolution
Conflicts:
	flight/CopterControl/Makefile
	ground/openpilotgcs/src/plugins/config/config.pro
	ground/openpilotgcs/src/plugins/config/configgadgetwidget.h
2012-03-22 02:58:24 -05:00
Sambas
742f3ff24d Merge remote-tracking branch 'remotes/origin/james/revolution' into osd_test
Conflicts:
	ground/openpilotgcs/src/plugins/scope/scopegadgetwidget.cpp
2012-03-11 09:39:51 +02:00
Stacey Sheldon
3782cdc58e bu: drop CC and PipX from BU targets since they don't build
The CC and PipX bootloader updater (BU) builds don't currently
work due to some recent changes in how LEDs are handled.

Remove them from the default BU targets so that the all_flight
target can build clean again.

Also fix a linker warning in OP build.
2012-03-10 20:41:15 -05:00
James Cotton
ab8b71a6c1 Bump openocd git revision since the old one doesn't exist anymore (??) 2012-03-03 12:03:47 -06:00
Stacey Sheldon
d53b760937 openocd: Add support for cross-compiling openocd for windows
Linux users can now cross-compile openocd to run on windows.

Here are the steps:
  sudo apt-get install mingw32
  make ftd2xx_install
  make libusb_win_install
  make openocd_git_win_install
  (cd tools; zip -r openocd-win-patched.zip openocd_win/)

This should simplify rolling out new versions of the tool and
provides an example for how to cross-compile future tools as
well.
2012-03-03 08:43:01 -05:00
Stacey Sheldon
c0c38609ec openocd: move to newer openocd (dec6b913)
This update fixes flash writing on F4 chips
2012-03-03 08:43:01 -05:00
Sambas
ebd2ae7e59 Bootloader, copy from revo, not functional 2012-02-18 22:35:13 +02:00
Stacey Sheldon
60a2af2e58 ef+dfu: Move EF image generation into separate makefile
A separate makefile for EF (Entire Flash) targets allows
the removal of board-specific hard-coded addresses.  These
values can now be included from the board-info.mk files
for each board.
2012-02-04 12:03:42 -05:00
Stacey Sheldon
4fafbb13ed makefile: Add EF (Entire Flash) targets for all boards
These new build targets will construct a flash image that
includes both a bootloader as well as a firmware image all
in one.  Examples:
  make ef_coptercontrol
  make ef_revolution

This also adds support for a new target for writing this EF
image to boards that support a DFU interface (only F4-based
boards).  This can be done by running:
  make dfuutil_install
  # Boot board with SBL asserted to activate STM32 DFU ROM
  # Attach USB cable
  make ef_revolution_dfu

Bootloader images are also now padded out to occupy the full
BL flash region.
2012-02-03 00:59:36 -05:00
Stacey Sheldon
99f5f20cb2 openocd: add support for stlink on stm32f4 targets 2012-02-03 00:51:31 -05:00
Stacey Sheldon
3318979714 dfu-util: Add dfu-util install target to Makefile
This tool can be used to read/write the interal device flash
in an STMF4 MCU via the built-in bootloader.

dfu-util can be downloaded and installed using this command:
  make dfuutil_install

The homepage for this tool is at:
  http://dfu-util.gnumonks.org/
2012-01-28 09:28:57 -05:00
James Cotton
7f38d113eb Delete more old target stuff 2012-01-26 11:21:34 -06:00
James Cotton
bb0bfe0ae4 Merge branch 'next' into revolution3
Conflicts:
	flight/Bootloaders/CopterControl/Makefile
	flight/Bootloaders/PipXtreme/Makefile
	flight/Bootloaders/Revolution/inc/pios_config.h
	flight/CopterControl/Makefile
	flight/INS/inc/pios_config.h
	flight/Libraries/taskmonitor.c
	flight/Modules/Altitude/altitude.c
	flight/Modules/Attitude/attitude.c
	flight/OpenPilot/Makefile
	flight/OpenPilot/Makefile.posix
	flight/OpenPilot/System/inc/pios_usb_board_data.h
	flight/OpenPilot/System/inc/taskmonitor.h
	flight/OpenPilot/System/pios_board.c
	flight/OpenPilot/System/taskmonitor.c
	flight/PiOS/Boards/STM32F4xx_Revolution.h
	flight/PiOS/STM32F4xx/pios_bmp085.c
	flight/PiOS/STM32F4xx/pios_iap.c
	flight/PiOS/pios.h
	flight/Revolution/System/inc/pios_config.h
	flight/Revolution/System/inc/taskmonitor.h
	flight/Revolution/System/taskmonitor.c
	ground/openpilotgcs/src/plugins/serialconnection/serialplugin.cpp
	shared/uavobjectdefinition/systemalarms.xml
	shared/uavobjectdefinition/taskinfo.xml
2012-01-21 11:27:03 -06:00
Stacey Sheldon
0ce95839ca stm32flash: Upgrade to revision 61 to support STM32F4 CPU 2012-01-07 17:28:00 -05:00
James Cotton
d5eb38a065 Remove references to deprecated targets 2012-01-04 19:42:45 -06:00
James Cotton
fffb6449ac Delete the old INS target 2011-11-13 17:31:34 -06:00
James Cotton
9bdd021b2e Make new Revolution target 2011-11-01 01:17:59 -05:00
James Cotton
acf2aa218b Merge remote-tracking branch 'origin/stac/upgrade-to-openocd-0.5.0' into next 2011-09-14 11:49:01 -05:00
James Cotton
ae74706b20 Update URL to ARM SDK 2011-09-11 17:19:31 -05:00
Stacey Sheldon
8198cc881f openocd: upgrade to 0.5.0
Upgrade is needed to support STM32F2 chip on the new boards.

Use 'openocd_install' to download/build the new version
on Linux.
2011-08-27 10:41:53 -04:00
Stacey Sheldon
22110c4c60 build: Switch to GCC 4.5.2 2011-07-20 00:42:51 -04:00
Stacey Sheldon
8c4c73496b build: add unbrick targets
Added new unbrick_<board> targets for each board.
These targets use the stm32flash utility to install
a bootloader on to the board.  This is a tool of
last resort and should not be used for normal firmware
upgrades.

Usage:
  make unbrick_<board> UNBRICK_TTY=/dev/ttyUSB0
Where:
  <board> is one of coptercontrol, pipxtreme,
          openpilot, ins, ahrs
  UNBRICK_TTY is set to the serial device connected
              to the board.
2011-06-15 21:37:10 -04:00
Stacey Sheldon
81dbd3f4c0 build: add install rule for stm32flash utility
This tool can be used as a last resort for
installing a bootloader to a completely bricked
board that is unresponsive to even the rescue
functionality in the GCS uploader gadget.
2011-06-15 21:37:10 -04:00
Stacey Sheldon
6313a78dc9 build: make lists of boards with fw, bl and bu
Provide unique lists of boards for each type of
build (fw, bl, bu) so we can refer to them in
the help text.
2011-06-15 21:37:09 -04:00
Stacey Sheldon
0801495ce1 build: fix spacing on label for clean targets
Whitespace only, no functional changes.
2011-06-15 21:37:09 -04:00
Oleg Semyonov
3dec910954 package: now it is called 'make package' instead of 'make release' 2011-05-28 03:14:51 +03:00
Stacey Sheldon
4da671fc82 build: change firmware files from .opf to .opfw extensions 2011-05-25 00:20:02 -04:00
Stacey Sheldon
076e5660fa build: Add all_<board> and all_<board>_clean targets
Building all_<board> will build all available embedded
images for <board>.  New targets:
  - all_ahrs
  - all_openpilot
  - all_coptercontrol
  - all_pipxtreme
  - all_ins
and their associated _clean targets to remove the build output.
2011-05-24 00:58:10 -04:00
Stacey Sheldon
0a67730d0f build: refactor fw, bl and bu rules
- New macros for fw, bl and bu rules in top-level make
- Per-board info factored into make/board/*/board-info.mk
- Per-board info now shared btw. fw, bl and blupd for each board
   - BOARD_TYPE, BOARD_REVISION, BOOTLOADER_VERSION, HW_TYPE
   - MCU, CHIP, BOARD, MODEL, MODEL_SUFFIX
   - START_OF_BL_CODE, START_OF_FW_CODE
- blupd_* goals renamed to bu_*
- all_blupd goal renamed to all_bu
- firmware goals renamed to fw_*, board name goals are preserved
- bu_*_program now writes updater to correct address for all boards
- BL updater firmware builds now produce .opf format including
  version info blob.
- BL updater firmware name now includes board name.
- INS makefile brought up to date w.r.t. linker scripts
2011-05-23 18:21:42 -04:00
Stacey Sheldon
6ec6425f5e build: build opf images including firmware + version blob 2011-05-22 10:55:13 -04:00
Oleg Semyonov
a0fadf739b OP-483: add 'release' target to the top level Makefile
Now 'make release' on the top level will build release package.

For Windows it will build OpenPilot GCS Installer and all firmware
binaries which are now included into the GCS distribution and will
be installed into the <path>/OpenPilot/share/firmware-<version>
directory.

For other systems it will build all firmware files and the GCS, but
latter is not packaged yet.
2011-05-19 01:57:35 +03:00
Oleg Semyonov
5b1e45a8df OP-483: move Windows installer out of ground/gcs tree
In preparation for release build the Windows installer source is moved
out of ground/gcs source tree into release directory. It is also disabled
in the qmake source file and removed from top level Makefile.
2011-05-18 22:22:40 +03:00
Oleg Semyonov
50f2d0ea76 OP-483: cleanup: replace ';' by '&&' in top Makefile (shouldn't continue on error)
On Windows cd doesn't mean that current directory is as expected since
there is also current drive. So in some rare cases mkdir followed by cd
doesn't change the directory which can result in Makefile overwrites by
qmake, etc. So it is safer to replace ';' by '&&' but need to check if
it still works on Windows under cmd or from Qt-Creator.
2011-05-13 11:25:29 +03:00
Stacey Sheldon
7b52945151 build: clean up typos in help text 2011-05-08 20:03:22 -04:00
Stacey Sheldon
933dcff238 build: note that top-level makefile works on windows 2011-05-08 19:14:50 -04:00
Stacey Sheldon
2301f4bfed build: remove USE_BOOTLOADER var from blupd targets 2011-05-08 14:07:05 -04:00
Stacey Sheldon
851e78cce5 build: Fill out the help text for all new targets 2011-05-08 12:41:02 -04:00
Stacey Sheldon
4028c0b2ee build: sanitize user environment variables
Certain environment variables or command-line overrides
can result in difficult-to-diagnose build issues.  These
variables are now filtered from the calling environment
prior to invoking the lower level makefiles.

These variables which may affect gcc are removed from the
environment and from the command-line overrides:
  TMPDIR GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH
  CFLAGS CPATH C_INCLUDE_PATH CPLUS_INCLUDE_PATH
  OBJC_INCLUDE_PATH DEPENDENCIES_OUTPUT

These variables which are now deprecated are removed from
the environment and from the command-line overrides:
  USE_BOOTLOADER
2011-05-08 12:40:29 -04:00
Stacey Sheldon
29ec2f198b build: convert all app loads to require bootloaders
This change is made up of a number of tightly coupled
changes:
 - Deprecate the use of the USE_BOOTLOADER command-line
   option.  It is now hard-coded in each Makefile.
   Overriding it on the command line is not allowed.
 - Split apart the memory declaration and the section
   declaration in all linker files (*_memory.ld and
   *_sections.ld).
 - Describe the split between bootloader and app sections
   of flash in each board's _memory.ld file.
 - Change program target to selectively erase flash so
   that the installed bootloader is preserved across even
   JTAG programming operations.
 - All elf files are built with debug symbols and are not
   stripped.  This should help debugging with gdb.  The
   images programmed on the boards are all .bin files now
   which do not include symbols.
2011-05-08 12:40:29 -04:00
Stacey Sheldon
268522c91b build: add gcs_clean and fix uavobjects_clean targets 2011-05-08 12:40:28 -04:00
Stacey Sheldon
5f3f52e0f9 makefile: whitespace changes only 2011-05-08 12:40:28 -04:00
Stacey Sheldon
3c03db9126 build: convert BL updaters to use cd rather than -C 2011-05-08 12:40:28 -04:00
Stacey Sheldon
18ea93119f build: Add support for BL_Updaters to top-level makefile
New targets:
 - make blupd_all_clean
 - make blupd_all
 - make blupd_openpilot
 - make blupd_ahrs
 - make blupd_coptercontrol
 - make blupd_pipxtreme

These targets are also included in the 'all_flight' target.
2011-05-08 12:40:28 -04:00
Oleg Semyonov
ba88bcaab9 OP-438: add gcs_installer target to the top Makefile (Windows only) 2011-05-03 16:15:55 -05:00
Oleg Semyonov
86fe9edfed OP-305: replace '-C dir' by 'cd dir &&' (Windows MSYS compatibility fix)
For unknown reason under Windows MSYS the make.exe doesn't like the
-C option in some configurations. So this change is made to provide
a cross-platform compatibility and take advantage of unix-like build
environment on Windows system.
2011-05-02 20:15:26 +03:00
chebuzz
06443b4281 OP-378 - OP/INS - Add initial support for INS. HMC5883, BMP085, BMA180, IMU300 all added. Throrough verification has not been done on any of them. main() simply calls self-test functions on all of the hardware.
AHRS_comms still needs to be implemented.  INS/GPS functionality still needs to be implemented.  Double-check of the new drivers still needs to be done.


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3162 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-04-14 12:46:39 +00:00
richard
7ab0789f85 - did text subst s/^\t#/ #/ to change shell commands containing comments
into makefile comments
- added "<target>:| $(DL_DIR) $(TOOLS_DIR)" _order-only_ prerequisites
to ensure directory creation, but prevent not-up-to-date when
directory is touched


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3120 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-04-03 01:40:22 +00:00
cwabbott
f657dba49f Modified sitl win32 to output to /build/sitl_win32
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@3006 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-08 02:36:33 +00:00
osnwt
d6e2a72e60 OP-305: Top Makefile: added GCS build configuration option GCS_BUILD_CONF=(debug|release).
Use 'make gcs GCS_BUILD_CONF=release' to build release binaries.
Default is to build debug version (was hard-coded).


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2990 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-06 13:41:46 +00:00
osnwt
51396d5272 makefile: Build .bin files for firmware (required for bootloaders), keep .elf for bootloaders
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2926 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-01 10:50:44 +00:00
stac
e04e86916a makefile: Build .bin files for bootloaders
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2922 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-03-01 03:56:07 +00:00
osnwt
0210334aa8 OP-305 Preparing the top level Makefile for unix-style Windows build.
- fixed: dep directory problem (sometimes it cannot be created by make, so do it with mkdir);
- fixed: added -f option to all_clean target (or rm stops on Windows for hidden .svn and r/o files);
- fixed: overridden USE_BOOTLOADER var for bootloaders (should always be set to NO regardless of command line);
- verified: short compilation output works as expected.

Some TODOs still exist, see OP-305 comments for details.


git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2918 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-28 10:25:56 +00:00
stac
26e0721043 makefile: Add dedicated clean targets
This prevents invoking the uavobject generation
when we're just trying to do a clean.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2857 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 04:19:02 +00:00
stac
ee3d890bfc makefile: convert to unix line-endings
These files were a mix of line endings.  Now
they're all consistent as LF terminators.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2855 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 04:18:56 +00:00
stac
2e87d705a2 makefile: no built-in rules and no-print-directory
- Remove built-in rules from sub-makes since it just adds
  cruft to the make database when trying to debug.
- Tell make not to print the directories as it decends
  into them.  Part of a series of output cleanups.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2853 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 04:18:50 +00:00
stac
6892d933fd makefile: CC should only depend on uavobjects_flight
Was depending on uavobjects (ie. all of them).

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2852 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 04:18:48 +00:00
stac
251f227b31 makefile: reduce default verbosity level
Add V=1 to your invocation of make to re-enable
printing of all command lines.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2851 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 04:18:46 +00:00
stac
617eec4d65 makefile: split out fw and bl targets and add cleans
New targets:
 - all_fw       : builds all embedded application firmware
 - all_fw_clean : cleans all embedded firmware
 - all_bl       : builds all bootloaders
 - all_bl_clean : cleans all bootloaders

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2850 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-23 04:18:43 +00:00
stac
46bde2def9 build: Add all bootloader targets to top-level makefile
The new targets are:
  bl_openpilot
  bl_ahrs
  bl_coptercontrol
  bl_pipxtreme

Build output is placed in <top>/build/bl_*/

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2785 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-14 01:17:28 +00:00
stac
a67c9ddb98 makefile: misc cleanup
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2739 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-06 01:02:59 +00:00
corvus
00be4070bb TopLevel Makefile: Introduced new target uavobjects_clean, to clean up autogenerated uavobject code.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2669 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-02-01 11:13:02 +00:00
corvus
d7f074a765 a path change had been forgotten in the top level makefile - fixed (big mess v2)
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2641 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-31 21:18:31 +00:00
corvus
04d3a9649d CopterControl: reverting previous commit - doesn't work on windows due to command line length limitations
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2624 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-29 16:15:16 +00:00
corvus
000a45f1bf CopterControl - Build CopterControl with a Makefile specified subset of UAVObjects - code generation by uavobjgenerator
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2622 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-29 12:36:41 +00:00
cwabbott
eeac20d4ae The Big Mess part 4: win32 and posix sitl.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2555 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-23 20:30:25 +00:00
stac
a0cbe21eb3 build: move openpilotgcs output under <top>/build/ground
This will allow us to create a simpler project file
for those that use the qt-creator gui.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2529 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-22 17:41:48 +00:00
stac
7195862d77 build: Move openpilotgcs into its own subdirectory
This will allow us to build a parent project for
qt-creator that sits above both openpilotgcs and
uavobjgenerator so that we can build both projects
at the same time.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2528 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-22 17:40:26 +00:00
stac
b736b2a956 UAVObjects-java: move java output files into synthetic dir
Move generated Java UAVObject output into the common synthetic
tree for all UAVObject output.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2527 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-22 17:38:48 +00:00
stac
5e6d87b2db UAVObjects-xml: Move UAVObject definitions outside of gcs dir
The UAVObject definition (.xml) files are used by both the
GCS build as well as the flight software builds.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2526 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-22 17:38:43 +00:00
stac
205e09a8d1 uavobjgenerator: Move generator out of the gcs subdir
The UAVObject generator is intended to be a standalone tool.
As such, it doesn't belong under the openpilotgcs directory.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2525 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-22 17:38:37 +00:00
stac
51b1b2cfc2 AHRS: Make ahrs build depend on flight uavobjects
The OP<->AHRS comms code depends on the content
of a few of the uavobjects.  The AHRS build should
depend on the autogenerated uavobjects for flight.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2524 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-22 17:38:32 +00:00
stac
b3b98347ec UAVObjects-matlab: Move generated files into build dir
Also note that the command line option to the uavobjectgenerator
binary for matlab has changed from "mathlab" to "matlab".

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2523 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-22 17:38:30 +00:00
stac
f7a3cfc475 UAVObjects-python: Move generated files into build dir
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2522 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-22 17:38:26 +00:00
stac
ce64ea17a0 UAVObjects-gcs: Move generated files into build dir
Also fixes the include paths in the plugins tree.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2521 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-22 17:38:22 +00:00
stac
2d53902148 UAVObjects-flight: Move generated files into build dir
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2520 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-22 17:38:15 +00:00
stac
c953757e06 build: fix openocd download/install
This is a variation on the patch that Richard attached to OP-201 to
allow wget to adjust the output filename based on the 302 redirect
messages from sourceforge.net's download servers.

Using --trust-server-name prevents wget from saving the openocd
tar file as "download" instead of the proper "openocd-0.4.0.tar.bz2"

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2486 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-20 02:57:40 +00:00
ligi
3d3023e9ad new command line options for generator; print all used units on verbose ; new makefile target to test xml files
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2438 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-16 01:45:42 +00:00
peabody124
4528afe4de Update the makefile to allow compiling the PipX and XCode project
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2427 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:48:50 +00:00
peabody124
940792db5c OP-265 CopterControl: Fork main OpenPilot directory
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2416 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-14 01:38:24 +00:00
ligi
dbc5d26605 splitting uavobject generation by language and cleanup:
- all languages to generate where processed everytime. In most runs only flight and/or gcs was needed but also matlab and python code was generated - now uavobjectgenerator has command line arguments to specify which languages to build and there are also new targets in the makefile.
 - generation code for all languages was in the parser section - was bit of a mess in general - now all splitted
 - its now more easy for new devs to add a new language or find relevant code for the language he is interested in

initial java generation:
 - uavobjectgenerator can now generate java code for uavobjects

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2392 ebee16cc-31ac-478f-84a7-5cbb03baadba
2011-01-13 02:26:00 +00:00
cwabbott
7720bddf68 Fixes makefile to make "make uavobjects" work on Windows. Changed "make sim_win32" accordingly.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2255 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-19 16:31:44 +00:00
cwabbott
0b985b2168 PiOS.win32: Various fixes to get it working again, added a sim_win32 option to the main makefile.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2249 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-12-18 18:41:37 +00:00
ligi
28ec908426 now that "Only write file if modified" issue is solved we can depend on uavobjects in makefile and remove the notes regarding that issue
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2099 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-09 04:27:38 +00:00
jonathan
9c8c4d90a1 Build System
Use $(MAKE) vice make to enable the GNU Make jobserver and parallel builds from the top-level.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@2075 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-11-05 02:01:14 +00:00
peabody124
6cc702b394 Makefile: Default is win32-g++ so that real OS can detect and overwrite this.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1617 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-14 16:15:21 +00:00
peabody124
b607200fa6 Removing makespec line for windows from Makefile. Find out how to put it in an OS conditional, don't break the other two OS.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1521 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-04 06:13:12 +00:00
cwabbott
d7a3ffb464 flight/PiOS.win32: update Makefile.win32 with new UAVObjects, also change UAVObject headers to have a newline at the end.
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1510 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-09-02 23:55:24 +00:00
peabody124
fda6fc8371 Merge branch 'mac_support'
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1324 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-08-18 14:29:53 +00:00
corvus
7f57bd30ed Added options to the main makefile to create software simulation firmware
git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1092 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-07-14 10:22:37 +00:00
stac
a43f579265 Add AHRS firmware build to the "all" target + misc
Add the AHRS firmware to the "all" target since it is once again
compiling successfully.

Fix reinstall of QT SDK, Create placeholder for uavobjects.
Reinstall of the QT SDK prompted to remove the read-only license
file.  Use rm -rf to avoid the prompt.

The uavobjects target now creates a directory in the build tree.
This will eventually hold the generated .c/.h/.cpp/.py files that
are generated from the UAVObjects xml files.

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@621 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-14 04:31:52 +00:00
stac
5275b794a0 Add top-level Makefile
- manages QT and ARM toolchain installation on Linux
 - manages OpenOCD build and installation on Linux
 - downloaded install packages are placed in <top>/downloads
 - defaults tool installs to be under <top>/tools directory
 - builds both the GCS and the openpilot firmware
 - build targets to regenerate the UAVObjects synthetic files
 - builds are placed in <top>/builds

git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@596 ebee16cc-31ac-478f-84a7-5cbb03baadba
2010-05-07 01:44:56 +00:00