Makefile.ac now generated before headers

This commit is contained in:
Pascal Brisset
2009-04-29 09:30:19 +00:00
parent b58333e10e
commit e11b3e8ec1
2 changed files with 19 additions and 7 deletions
+7 -1
View File
@@ -67,6 +67,8 @@ demo:
all_ac_h: $(AIRFRAME_H) $(RADIO_H) $(FLIGHT_PLAN_H) $(FLIGHT_PLAN_XML) $(SETTINGS_H) $(TUNING_H) $(MAKEFILE_AC) $(PERIODIC_H) $(MODULES_H)
makefile_ac: $(MAKEFILE_AC)
$(AIRFRAME_H) : $(CONF)/$(AIRFRAME_XML) $(CONF_XML)
@echo BUILD $@
$(Q)$(TOOLS)/gen_airframe.out $(AC_ID) $(AIRCRAFT) $(MD5SUM) $< > /tmp/airframe.h
@@ -80,7 +82,10 @@ $(RADIO_H) : $(CONF)/$(RADIO) $(CONF_XML) $(TOOLS)/gen_radio.out
$(Q)mv /tmp/radio.h $@
$(Q)cp $< $(AIRCRAFT_CONF_DIR)/radios
include $(MAKEFILE_AC)
ifeq ($(MAKECMDGOALS),all_ac_h)
-include $(MAKEFILE_AC)
endif
$(PERIODIC_H) : $(MESSAGES_XML) $(CONF_XML) $(CONF)/$(TELEMETRY) $(MAKEFILE_AC)
@echo BUILD $@
$(Q)$(TOOLS)/gen_periodic.out $(MESSAGES_XML) $(CONF)/$(TELEMETRY) $(PERIODIC_FREQ) > $@
@@ -113,6 +118,7 @@ $(TUNING_H) : $(SETTINGS_XMLS) $(CONF_XML) $(TOOLS)/gen_tuning.out
$(MAKEFILE_AC) : $(CONF)/$(AIRFRAME_XML)
@echo BUILD $@
$(Q)mkdir -p $(ACINCLUDE)
$(Q)$(TOOLS)/extract_makefile.out $< $(MODULES_DIR) > $@
$(MODULES_H) : $(CONF)/$(AIRFRAME_XML) $(TOOLS)/gen_modules.out $(CONF)/modules/*.xml
+12 -6
View File
@@ -97,9 +97,15 @@ let _ =
Printf.fprintf f "%s\n" md5sum;
close_out f;
let c = sprintf "make -f Makefile.ac AIRCRAFT=%s AC_ID=%s AIRFRAME_XML=%s RADIO=%s FLIGHT_PLAN=%s TELEMETRY=%s SETTINGS=\"%s\" MD5SUM=\"%s\" all_ac_h" aircraft (value "ac_id") (value "airframe") (value "radio") (value "flight_plan") (value "telemetry") settings md5sum in
begin (** Quiet is speficied in the Makefile *)
try if Sys.getenv "Q" <> "@" then raise Not_found with
Not_found -> prerr_endline c
end;
exit (Sys.command c)
let make = fun target ->
let c = sprintf "make -f Makefile.ac AIRCRAFT=%s AC_ID=%s AIRFRAME_XML=%s RADIO=%s FLIGHT_PLAN=%s TELEMETRY=%s SETTINGS=\"%s\" MD5SUM=\"%s\" %s" aircraft (value "ac_id") (value "airframe") (value "radio") (value "flight_plan") (value "telemetry") settings md5sum target in
prerr_endline c;
begin (** Quiet is speficied in the Makefile *)
try if Sys.getenv "Q" <> "@" then raise Not_found with
Not_found -> prerr_endline c
end;
let returned_code = Sys.command c in
if returned_code <> 0 then
exit returned_code in
make "makefile_ac";
make "all_ac_h"