SOURCES = \ main.esh \ common.esh \ tokens.esh \ backend/main.esh \ backend/codegen.esh \ frontend/main.esh \ frontend/parser.esh \ frontend/lexer.esh OBJECTS = $(SOURCES:.esh=.sh) all: eshtrans.old .SUFFIXES: .SUFFIXES: .esh .sh clean: rm -f eshtrans.old $(OBJECTS) eshtrans.old: $(OBJECTS) cat $(OBJECTS) >$@ printf 'main "$${@}"\n' >>$@ chmod a+x $@ $(OBJECTS): .esh.sh: cp $< $@