This Website
This website is maintained by a very intricate system consisting of a GNU Makefile and cat and ln, written entirely in smultron and emacs...Check out the makefile that builds this website:
template = template/head.html \ template/navbar.html \ template/footer.html website_dirs = . css downloads img img/lb img/icons js external_files = $(filter-out Makefile %~ %.smultronProject %.up %.htm %html, $(foreach dir,$(website_dirs),$(wildcard $(dir)/*.*))) UPLOAD = ../upload.pl to_upload = objs = $(patsubst %.html,%.htm,$(wildcard *.html)) upped_external_files = $(addsuffix .up, $(external_files)) menu_sources = $(wildcard *_menu.htm) upload_command = pushd ../s-softs/; echo Uploading ${to_upload}; ${UPLOAD} $(to_upload); popd; all: $(objs) $(upped_external_files) @$(if $(to_upload), $(upload_command), echo Nothing to upload) $(objs): %.htm :%.html $(template) $(menu_sources) @echo -Building $< to $@ copy to $(addprefix ../s-softs/, $(patsubst %.htm,%.html,$@)) @-cat template/head.html $(basename $<)_menu.htm template/navbar.html $< template/footer.html > $@ 2> /dev/null || echo " (no menu file in $(basename $<)_menu.htm)" @-cp $@ $(addprefix ../s-softs/, $(patsubst %.htm,%.html,$@)) $(eval to_upload += $(patsubst %.htm,%.html,$@)) $(upped_external_files): %.up:% @-mkdir -p $(dir $(addprefix ../s-softs/,$<)) @-cp $< $(addprefix ../s-softs/,$<) @-touch $@ $(eval to_upload += $<) re: clean all clean: -rm $(objs) $(upped_external_files)
Look, I know its a joke. But I had fun making it.