1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-12-10 18:24:11 +01:00
Commit Graph

367 Commits

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