SUBDIRS := $(patsubst %/, %, $(filter %/, $(shell ls -F))) SUBDIRMARKS := $(patsubst %, _dir_%, $(SUBDIRS)) DVI := $(patsubst %.tex, %.dvi, $(wildcard *.tex)) PS := $(patsubst %.tex, %.ps, $(wildcard *.tex)) PDF := $(patsubst %.tex, %.pdf, $(wildcard *.tex)) HTMLTEX := $(patsubst %.tex, %, $(wildcard *.tex)) all : $(patsubst %.php, %.phps, $(wildcard *.php)) \ $(patsubst %.inc, %.inc.phps, $(wildcard *.inc)) \ $(SUBDIRMARKS) $(DVI) $(PS) $(PDF) $(HTMLTEX) dvi : $(DVI) ps : $(PS) htmltex : $(HTMLTEX) # Create symbolic links to all *.php and *.inc files %.phps : %.php ln -s $< $@ %.inc.phps : %.inc ln -s $< $@ # Make subdirectories recursively .PHONY : $(SUBDIRMARKS) .PHONY : makesubdirs $(SUBDIRMARKS) : makesubdirs -$(MAKE) -C $(patsubst _dir_%, %, $@) # Compile LaTeX into DVI, PostScript, PDF, HTML %.dvi : %.tex latex $< latex $< %.ps : %.dvi dvips -f <$< >$@ %.pdf : %.tex pdflatex $< % : %.tex latex2html -split 0 -show_section_numbers -no_navigation $<