Cours 7
This commit is contained in:
62
cours/inverted-pendulum/Makefile
Normal file
62
cours/inverted-pendulum/Makefile
Normal file
@@ -0,0 +1,62 @@
|
||||
HEPTC=heptc
|
||||
PYGMENTS=python -m pygments -x -l ../../../notes/heptagon.py:HeptagonLexer
|
||||
|
||||
HEPT_NAME=pendulum
|
||||
|
||||
HEPT_SOURCES=$(HEPT_NAME).ept
|
||||
HEPT_GENERATED=\
|
||||
$(HEPT_NAME)_types.h \
|
||||
$(HEPT_NAME).h \
|
||||
$(HEPT_NAME)_types.c \
|
||||
$(HEPT_NAME).c
|
||||
C_SOURCES=mathext.c
|
||||
|
||||
SWIG_SOURCE=$(HEPT_NAME).i
|
||||
SWIG_GENERATED=$(HEPT_NAME).py $(HEPT_NAME)_wrap.c
|
||||
|
||||
PY_SUFFIX=$(shell python -c \
|
||||
"import sysconfig as s; print(s.get_config_var('EXT_SUFFIX'))")
|
||||
TARGET?=_$(HEPT_NAME)$(PY_SUFFIX)
|
||||
|
||||
HTML=pendulum.html
|
||||
|
||||
.PHONY: all clean run runplot repl
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
clean:
|
||||
rm -f *.epci *.log *.mls *.obc *.epci *.epo
|
||||
rm -f $(SWIG_GENERATED) $(HEPT_GENERATED)
|
||||
rm -rf $(HEPT_NAME)_c build __pycache__ *.so
|
||||
rm -f $(HTML)
|
||||
|
||||
repl: all
|
||||
python -i -c 'import $(HEPT_NAME)'
|
||||
|
||||
run: all
|
||||
./main.py
|
||||
|
||||
runplot: all
|
||||
./main.py --plot
|
||||
|
||||
%.html: %.ept
|
||||
$(PYGMENTS) -O full -o $@ $^
|
||||
|
||||
$(TARGET): $(SWIG_GENERATED) $(HEPT_GENERATED) $(C_SOURCES)
|
||||
python setup.py build_ext --inplace
|
||||
@echo $@
|
||||
|
||||
$(SWIG_GENERATED): $(SWIG_SOURCE) $(HEPT_GENERATED) $(C_SOURCES)
|
||||
swig -python $<
|
||||
|
||||
%_types.h %_types.c %.c %.h %.epci : %.ept
|
||||
$(HEPTC) -c -target c $<
|
||||
cp $(foreach ext,c h,$(basename $<)_c/*.$(ext)) .
|
||||
|
||||
%.epci: %.epi
|
||||
$(HEPTC) $<
|
||||
|
||||
$(HEPT_SOURCES): mathext.epci debug.epci
|
||||
|
||||
%.html: %.ept
|
||||
$(PYGMENTS) -O full -o $@ $^
|
||||
Reference in New Issue
Block a user