.PHONY: all clean split-js COMBINED_FILE=YAML.js ALL_JS_SOURCE_FILES= \ lib/Subclass.js \ lib/YAML.js \ all: $(COMBINED_FILE) clean: rm -f $(COMBINED_FILE) $(COMBINED_FILE): $(ALL_JS_SOURCE_FILES) Makefile rm -f $@; for js in $(ALL_JS_SOURCE_FILES); do \ (echo "// BEGIN $$js"; cat $$js) >> $@; \ done split-js: perl \ -e 'my $$text = `cat $(COMBINED_FILE)`;' \ -e 'while($$text) {' \ -e ' $$text =~ s/\/\/ BEGIN (.*?)\n(.*?)(?=\/\/ BEGIN |\z)//s' \ -e ' or die "fubarred";' \ -e ' open(OUT, "> $$1") or do {warn "Cannot open $$1 for output\n"; next};' \ -e ' print OUT $$2;' \ -e ' close OUT;' \ -e '}'