Ich möchte eine Alternative zu machen, wo ich leicht einige Python-Code verwenden kann, um einige Zwischendateien zu generieren.Wie benutze ich Scons, um beliebige Rezepte zu erstellen?
Ich stieß auf Scons, die behauptet, zu Make ähnlich zu sein. Ich möchte diese Art von Makefile in Scons übersetzen, wo die Aufrufe von Python in Scons selbst erledigt werden.
.PHONY all clean mrproper
all: out
A=$(wildcard *.a)
B=$(A:.b=.a)
C=$(B:.c=.b)
D=$(wildcard *.d)
C=$(D:.c=.d)
-include $(wildcard *.dep)
*.b : *.a
python -mfoo a2b $< -o [email protected] -M [email protected]
*.c : *.b
python -mfoo b2c $< -o [email protected]
*.e : *.d
python -mfoo d2e $< -o [email protected]
out: $(E) $(C)
python -mfoo out $^ -o [email protected]
clean:
$(RM) $(B) $(C) $(E)
mrproper: clean
$(RM) out *.dep
Ist es möglich, es so zu tun? Ich bin nicht an einer funktionierenden Lösung interessiert, sondern an den Bausteinen, die ich starten muss.
Was mir fehlt, ist, dass Scons Helfer wie
env.Program(target = 'helloworld', source = ["helloworld.c"])
bietet, die mit Standarderweiterungen funktioniert (*.c
, *.s
, ...). Leider möchte ich kein Programm machen, und ich möchte das Rezept angeben. Anders gesagt ich bin etwas mehr wie folgt aus:
env.append(env.Recipe(target='%.b', deps=['out/%.a', 'out'], builder=foo_a2b))