1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-13 20:48:42 +01:00
Commit Graph

291 Commits

Author SHA1 Message Date
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