1
0
mirror of https://bitbucket.org/librepilot/librepilot.git synced 2024-11-30 08:24:11 +01:00
LibrePilot/flight/libraries/PyMite/pymite.mk
2013-04-25 13:13:36 +03:00

76 lines
2.2 KiB
Makefile

#
# Rules to add PyMite flight plan interpreter
#
# Paths
PYMITE := $(FLIGHTLIB)/PyMite
PYMITELIB := $(PYMITE)/lib
PYMITEPLAT := $(PYMITE)/platform/openpilot
PYMITETOOLS := $(PYMITE)/tools
PYMITEVM := $(PYMITE)/vm
PYMITEINC := $(PYMITEVM)
PYMITEINC += $(PYMITEPLAT)
PYMITEINC += $(OUTDIR)
# Flight plans
FLIGHTPLANLIB ?= $(OPMODULEDIR)/FlightPlan/lib
FLIGHTPLANS ?= $(OPMODULEDIR)/FlightPlan/flightplans
# Extra modules
PYMODULES ?= FlightPlan
# Modules
PYSRC += $(foreach mod, $(PYMODULES), $(wildcard $(OPMODULEDIR)/$(mod)/*.c))
# PyMite virtual machine and platform files
PYSRC += $(wildcard $(PYMITEVM)/*.c)
PYSRC += $(wildcard $(PYMITEPLAT)/*.c)
# Autogenerated files
PYLIB += $(addprefix $(OUTDIR)/, pmlib_img.c pmlib_nat.c)
PYLIB += $(addprefix $(OUTDIR)/, pmlibusr_img.c pmlibusr_nat.c)
# Scripts
PYSCRIPTS += $(wildcard $(PYMITELIB)/*.py)
PYSCRIPTS += $(wildcard $(PYMITEPLAT)/*.py)
PYSCRIPTS += $(wildcard $(FLIGHTPLANLIB)/*.py)
PYSCRIPTS += $(wildcard $(FLIGHTPLANS)/*.py)
# Generate code for PyMite
$(PYSRC): | $(PYLIB) $(OUTDIR)/pmfeatures.h
$(OUTDIR)/pmfeatures.h: $(PYSCRIPTS)
@$(ECHO) $(MSG_PYMITEINIT) $(call toprel, $@)
$(V1) $(PYTHON) $(PYMITETOOLS)/pmGenPmFeatures.py $(PYMITEPLAT)/pmfeatures.py > $@
$(OUTDIR)/pmlib_img.c: | $(OUTDIR)/pmlib_nat.c
$(OUTDIR)/pmlib_nat.c: $(PYSCRIPTS)
@$(ECHO) $(MSG_PYMITEINIT) $(call toprel, $@)
$(V1) $(PYTHON) $(PYMITETOOLS)/pmImgCreator.py -c -s --memspace=flash \
-f $(PYMITEPLAT)/pmfeatures.py \
-o $(OUTDIR)/pmlib_img.c \
--native-file=$(OUTDIR)/pmlib_nat.c \
$(PYMITELIB)/list.py \
$(PYMITELIB)/dict.py \
$(PYMITELIB)/__bi.py \
$(PYMITELIB)/sys.py \
$(PYMITELIB)/string.py \
$(wildcard $(FLIGHTPLANLIB)/*.py)
$(OUTDIR)/pmlibusr_img.c: | $(OUTDIR)/pmlibusr_nat.c
$(OUTDIR)/pmlibusr_nat.c: $(PYSCRIPTS)
@$(ECHO) $(MSG_PYMITEINIT) $(call toprel, $@)
$(V1) $(PYTHON) $(PYMITETOOLS)/pmImgCreator.py -c -u \
-f $(PYMITEPLAT)/pmfeatures.py \
-o $(OUTDIR)/pmlibusr_img.c \
--native-file=$(OUTDIR)/pmlibusr_nat.c \
$(FLIGHTPLANS)/test.py
# Add to the source and include lists
SRC += $(PYSRC)
SRC += $(PYLIB)
EXTRAINCDIRS += $(PYMITEINC)
EXTRAINCDIRS += $(foreach mod, $(PYMODULES), $(OPMODULEDIR)/$(mod)/inc)