What I did try was (like before) to add; $(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/zamboni_survey.c
to the navigation_extra.makefile :
__________________
# Hey Emacs, this is a -*- makefile -*-
# standard and extra fixed wing navigation
#add these to all targets
$(TARGET).CFLAGS += -DNAV
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/nav.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/common_flight_plan.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/traffic_info.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/nav_survey_rectangle.c $(SRC_SUBSYSTEMS)/navigation/nav_line.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/nav_cube.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/discsurvey.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/OSAMNav.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/snav.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/spiral.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/poly_survey_adv.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/gls.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/border_line.c
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/zamboni_survey.c
# $(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/lawnmover_survey_gt.c
__________________
Then, to add a separate makefile, in paparazzi/conf/firmwares/subsystems/ directory:
__________________
# Hey Emacs, this is a -*- makefile -*-
# standard and extra fixed wing navigation
#add these to all targets
$(TARGET).srcs += $(SRC_SUBSYSTEMS)/navigation/zamboni_survey.c
_________________
Airframe file starts like this:
_________________
<!DOCTYPE flight_plan SYSTEM "flight_plan.dtd">
<flight_plan
alt="310" ground_alt="185" lat0="59.81" lon0="10.3578"
max_dist_from_home="550" name="Test zamboni" security_height="60"
qfu="110">
<header>
#include "subsystems/navigation/zamboni_survey.h"
#include "subsystems/datalink/datalink.h"
/*
#ifndef VARDECLARED
#define VARDECLARED
float varsweepsize=110;
#endif
*/
#include "modules/digital_cam/dc.h"
//#define LINE_START_FUNCTION dc_autoshoot = DC_AUTOSHOOT_DISTANCE;
//#define LINE_START_FUNCTION dc_Survey(dc_gps_dist);
#define LINE_START_FUNCTION dc_Survey(40);
#define LINE_STOP_FUNCTION dc_autoshoot = DC_AUTOSHOOT_STOP;
</header>
_________________
Cheers, Jorn