Files
paparazzi/Makefile.ac
2006-04-17 20:53:25 +00:00

83 lines
2.7 KiB
Makefile

# Paparazzi main $Id$
# Copyright (C) 2004 Pascal Brisset Antoine Drouin
#
# This file is part of paparazzi.
#
# paparazzi is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# paparazzi is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with paparazzi; see the file COPYING. If not, write to
# the Free Software Foundation, 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
# Preprocessing of XML configuration files
include conf/Makefile.local
CONF=$(PAPARAZZI_HOME)/conf
CONF_XML=$(CONF)/conf.xml
MESSAGES_XML = $(CONF)/messages.xml
ACINCLUDE = $(PAPARAZZI_HOME)/var/$(AIRCRAFT)
AIRFRAME_H=$(ACINCLUDE)/airframe.h
CONTROL_H=$(ACINCLUDE)/control.h
CONTROL_C=$(ACINCLUDE)/ap/control.c
FBW_DOWNLINK_H=$(ACINCLUDE)/fbw_downlink_gen.h
AP_DOWNLINK_H=$(ACINCLUDE)/ap_downlink_gen.h
RADIO_H=$(ACINCLUDE)/radio.h
FLIGHT_PLAN_H=$(ACINCLUDE)/flight_plan.h
FLIGHT_PLAN_XML=$(ACINCLUDE)/flight_plan.xml
INFLIGHT_CALIB_H=$(ACINCLUDE)/inflight_calib.h
MAKEFILE_AC=$(ACINCLUDE)/Makefile.ac
all: $(AIRFRAME_H) $(RADIO_H) $(CONTROL_H) $(CONTROL_C) $(FLIGHT_PLAN_H) $(FLIGHT_PLAN_XML) $(INFLIGHT_CALIB_H) $(MAKEFILE_AC) $(FBW_DOWNLINK_H)
$(AIRFRAME_H) : $(CONF)/$(AIRFRAME) $(CONF_XML)
$(TOOLS)/gen_airframe.out $(AC_ID) $(AIRCRAFT) $< > /tmp/airframe.h
mv /tmp/airframe.h $@
$(RADIO_H) : $(CONF)/$(RADIO) $(CONF_XML)
$(TOOLS)/gen_radio.out $< > /tmp/radio.h
mv /tmp/radio.h $@
$(FBW_DOWNLINK_H) : $(MESSAGES_XML) $(CONF)/$(AIRFRAME) $(CONF_XML)
TMP_FILE=`mktemp`;\
$(TOOLS)/gen_messages.out $< telemetry_fbw > $$TMP_FILE;\
mv $$TMP_FILE $@
chmod a+r $@
$(CONTROL_H) : $(CONF)/$(AIRFRAME) $(CONF_XML)
$(TOOLS)/gen_control.out h $< > /tmp/control.h
mv /tmp/control.h $@
$(CONTROL_C) : $(CONF)/$(AIRFRAME) $(CONF_XML)
mkdir -p $(ACINCLUDE)/ap
$(TOOLS)/gen_control.out c $< > /tmp/control.c
mv /tmp/control.c $@
$(FLIGHT_PLAN_H) : $(CONF)/$(FLIGHT_PLAN) $(CONF_XML)
$(TOOLS)/gen_flight_plan.out $< > /tmp/fp.h
mv /tmp/fp.h $@
$(FLIGHT_PLAN_XML) : $(CONF)/$(FLIGHT_PLAN) $(CONF_XML)
$(TOOLS)/gen_flight_plan.out -dump $< > /tmp/fp.xml
mv /tmp/fp.xml $@
$(INFLIGHT_CALIB_H) : $(CONF)/$(FLIGHT_PLAN) $(CONF_XML)
$(TOOLS)/gen_calib.out $< > /tmp/c.h
mv /tmp/c.h $@
$(MAKEFILE_AC) : $(CONF)/$(AIRFRAME)
$(TOOLS)/extract_makefile.out $< > $@
clean :
rm -f $(ACINCLUDE)/*.h