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

341 Commits

Author SHA1 Message Date
Philippe Renon
6c65b13c2b OP-1340 fixed regression introduced with OP-1233 : when packaging target opfw_resources was not executed before target openpilotgcs anymore 2014-05-11 15:41:00 +02:00
Alessio Morale
a8f39591cf OP-1307 fw_discoveryf4bare is NOT an elf target for packaging 2014-04-26 22:56:34 +02:00
Alessio Morale
0aa9ef4b57 OP-1307 Bare f4 discovery platform with no sensor, for development pourpose 2014-04-22 23:46:27 +02:00
Alessio Morale
c83284b21e Merge remote-tracking branch 'origin/next' into shared/OP-1252_update_to_qt521 2014-04-08 11:31:23 +02:00
Alessio Morale
a72f48173f OP-1295 fix "autoupdate not working" issue.
OPFW_RESOURCE is now a dependency of openpilotgcs_qmake
2014-04-07 12:12:01 +02:00
Philippe Renon
c3e29fc826 OP-1233 fixed parallel build regression introduced when splitting openpilotgcs target into _make and _qmake
both _make and _qmake would wrongly run in parallel when using -j2 or similar option
2014-03-23 16:01:51 +01:00
Philippe Renon
7bdc1e2c00 OP-1233 documented new GCS make options (QMAKE_SKIP and MAKE_DIR) 2014-03-22 15:25:01 +01:00
Philippe Renon
eed38b7f35 OP-1255 removed mingw_install and python_install make targets (obsolete since Qt 5.1.1. upgrade) 2014-03-21 18:53:16 +01:00
Philippe Renon
6210b8e0df OP-1263 added missing documentation for new Make sdl_install target 2014-03-20 22:51:46 +01:00
Philippe Renon
a93b1a8ac7 OP-1233 added make options to skip qmake and build single gcs dir
- add QMAKE_SKIP=1 on make command line to skip qmake
- add MAKE_DIR=<dir relative to ./ground/openpilotgcs> to compile that directoy only
- example : make gcs QMAKE_SKIP=1 MAKE_DIR=src/plugins/coreplugin
- use at your own risks ;)

+review OPReview
2014-02-17 22:29:16 +01:00
Alessio Morale
98076fb194 OP-1160: fixes from review 2014-01-15 11:19:35 +01:00
Alessio Morale
c9fad94b51 OP-1160 use commit.template config instead of a hook.
Added also a _clean target to unset that config

+review OPReview-611
2014-01-14 09:42:04 +01:00
Alessio Morale
ad8f4fe41c OP-1160 Add a prepare make target that installs a prepare-commit-msg hook and
a text file containing the commit message template addition.
2014-01-13 12:31:28 +01:00
Philippe Renon
56c404e778 OP-1132 added new openssl-install that downloads and install the required SSL libraries for Windows
the missing SSLEAY32.DLL and LIBEAY32.DLL are copied to GCS bin dir
OpenSSL version 1.0.1e was downloaded from http://slproweb.com/products/Win32OpenSSL.html
2013-12-01 23:17:48 +01:00
Oleg Semyonov
cb494777cb Makefile: remove unused target (gcs_all_clean) 2013-05-28 20:58:07 +03:00
Oleg Semyonov
dcc9425b7e Merge remote-tracking branch 'origin/os/OP-893_remove-firmware-from-package' into next 2013-05-28 14:56:05 +02:00
Oleg Semyonov
9937b093c8 OP-893: fix simposix firmware copy rule (we include ELF files only) 2013-05-26 23:54:27 +03:00
Oleg Semyonov
444431579e OP-770: add/rename some version-info.py template variables 2013-05-25 23:02:29 +02:00
Oleg Semyonov
b9601c3ad6 Add fake board name to display unit test names with make all_ut_run 2013-05-12 15:13:39 +03:00
Alessio Morale
93bad2e8c2 Merge branch 'amorale/OP-917_f4_bootloader_updater' into next
***** PLEASE NOTE  ***** From this revision all F4 based boards (Revolution/OSD) needs bootloader version  5 to boot properly

Conflicts:
	flight/pios/stm32f4xx/libraries/CMSIS2/Device/ST/STM32F4xx/Source/osd/system_stm32f4xx.c
	flight/targets/boards/osd/board-info.mk
	make/boot-defs.mk
	make/common-defs.mk
2013-05-07 21:02:41 +02:00
Oleg Semyonov
137ddbf73a Fix broken unit tests 2013-05-03 20:27:03 +02:00
Oleg Semyonov
ee1a149888 tools: add gtest_install and build_sdk_* 2013-05-03 20:26:44 +02:00
Oleg Semyonov
c71985f61e Makefile: update help message (output of 'make help' or just 'make') 2013-05-03 10:54:25 +02:00
Oleg Semyonov
a5d63eb452 tools: make nsis_install (Windows only) 2013-05-01 22:44:11 +03:00
Oleg Semyonov
bbb05f4ad6 Makefile: print 'BUILD-INFO <outfile>' after 'make build-info' 2013-04-30 23:23:57 +03:00
Oleg Semyonov
9538d2fce1 Makefile: clean "clean" rules 2013-04-29 11:11:32 +02:00
Oleg Semyonov
60dc9d408c Makefile: uncrustify and docs cleanup 2013-04-29 10:51:39 +02:00
Oleg Semyonov
55c406066d tools: add doxygen_install and docs_* targets 2013-04-29 02:05:15 +02:00
Oleg Semyonov
19e374e8d1 OP-917: Minor fix for indents and spacing 2013-04-28 15:35:28 +03:00
Alessio Morale
9f56fe9a1e OP-917 Makefiles cleanup. Get rid of ALL_BOARDS_BU as not all boards have one
+review OPReview-456
2013-04-28 10:14:50 +02:00
Alessio Morale
b21146b8e3 OP-917 bootloader updater for F4 targets. Initial commit 2013-04-27 00:56:47 +02:00
Oleg Semyonov
b6e1331e5d Rename flight/PiOS->flight/pios 2013-04-25 13:13:41 +03:00
Oleg Semyonov
66db978244 Rename Libraries->libraries, Modules->modules 2013-04-25 13:13:36 +03:00
Oleg Semyonov
0414231408 Move uncrustify config from flight to make/uncrustify/ 2013-04-24 22:49:17 +03:00
Oleg Semyonov
748b28f4f4 Move doxygen config from flight to make/doxygen/ 2013-04-24 22:44:40 +03:00
Oleg Semyonov
33ed88e696 Merge remote-tracking branch 'origin/next' into os/OP-899_board-rename-and-config-rework 2013-04-24 21:28:33 +02:00
Oleg Semyonov
fb207bdaf7 OP-896: rename SensorTest to RevoProto 2013-04-24 00:57:33 +03:00
Oleg Semyonov
27195b7327 OP-899: move UAVObjects and UAVTalk one level up from targets 2013-04-24 00:07:07 +03:00
Oleg Semyonov
1dd20eca33 OP-899: move board_hw_defs.c under board directories and fix some includes 2013-04-24 00:07:06 +03:00
Oleg Semyonov
f7f842687a OP-899: rename System to firmware and move Makefile into it 2013-04-24 00:07:06 +03:00
Oleg Semyonov
fce12662bc OP-899: move bootloaders under board directories 2013-04-24 00:07:06 +03:00
Oleg Semyonov
f01655efed OP-899: get rid of board_friendly names 2013-04-24 00:07:06 +03:00
Oleg Semyonov
c33ff12faa OP-899: rename targets/common/CamelStyle to unix_style 2013-04-24 00:07:05 +03:00
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