|
From: | Christophe De Wagter |
Subject: | Re: [Paparazzi-devel] Build Errors when building from terminal |
Date: | Sat, 14 Dec 2013 22:04:21 +0100 |
Hi,
I am trying to understand the build process in more detail. I am currently targeting the AR Drone 2, as such, I followed these instructions: http://paparazzi.enac.fr/wiki/AR_Drone_2/getting_started
The installation was successful, I was able to perform a simple build of ardrone2_raw with target set to AC.
When examining the build logs, I see this command:
=================Copy/paste Begin=============================
RUN 'make -C /home/ub-username/paparazzi -f Makefile.ac AIRCRAFT=ardrone2_raw ap.compile '
make: Entering directory `/home/ub-username/paparazzi'
-----------------------------------------------------------------------
Paparazzi version v5.1_devel-683-g4978164-dirty
-----------------------------------------------------------------------
=================Copy/paste End==============================
Out of curiosity, I tried running the make command from a regular Ubuntu terminal window, but i get the following error messages:
===================Copy/paste Begin==============================
address@hidden:~/paparazzi$ make -C /home/ub-username/paparazzi -f Makefile.ac AIRCRAFT=ardrone2_raw ap.compile
make: Entering directory `/home/ub-username/paparazzi'
-----------------------------------------------------------------------
Paparazzi version v5.1_devel-683-g4978164-dirty
-----------------------------------------------------------------------
ardrone2_raw
BUILD ardrone2_raw, TARGET ap
make[1]: Entering directory `/home/ub-username/paparazzi'
--Exiting srcs.list includes-----------
make[1]: Leaving directory `/home/ub-username/paparazzi'
make[1]: Entering directory `/home/ub-username/paparazzi'
make[1]: Nothing to be done for `radio_ac_h'.
make[1]: Leaving directory `/home/ub-username/paparazzi'
make[1]: Entering directory `/home/ub-username/paparazzi'
make[1]: Leaving directory `/home/ub-username/paparazzi'
cd sw/airborne; make TARGET=ap all
make[1]: Entering directory `/home/ub-username/paparazzi/sw/airborne'
Makefile:40: /var/ardrone2_raw/Makefile.ac: No such file or directory
Makefile:46: *** Architecture not set, maybe you forgot to add the target? e.g. <target name="tunnel" board="twog_1.0"/>. Stop.
make[1]: Leaving directory `/home/ub-username/paparazzi/sw/airborne'
make: *** [ap.compile] Error 2
make: Leaving directory `/home/ub-username/paparazzi'
====================Copy/paste End======================================
I think its fairly clear that the Paparazzi utility must be doing a little more than just running the "make -C /home/ub-username/paparazzi -f Makefile.ac AIRCRAFT=ardrone2_raw ap.compile" command. My guess is that its taking the settings from the GUI and modifying something to allow successful builds (ie: board selection, XML files for code generation, etc). My questions are:
a) is there any clear/concise documentation of what additional makefiles are invoked or paths being included with the paparazzi utility?
b) I've found references to other makefiles, some responsible for setting up other important settings:
paparazzi\conf\boards\ardrone2_raw.makefile <-- talks about device mapping, gps baud rate, USB ports, etc
paparazzi\Makefile
paparazzi\sw\airborn\makefile <--- talks about architecture, in this context, its ARM cross compiler
paparazzi\conf\Makefile.arm-common <--- i can add an echo command here and it appears in the build logs in Paparazzi as well
I'm not sure how makefile.ac interacts with any of these other makefiles - from reading makefile.ac its not clear to me. I have limited experience with writing/interperting makefiles so I may have missed something obvious.
c) What steps should I take to do builds outside of the paprazzi utility (ie: from the command terminal?)
_______________________________________________
Paparazzi-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel
[Prev in Thread] | Current Thread | [Next in Thread] |