1include app.mk 2 3###----------------------------------------------------------------------------- 4### APPLICATION LAYOUT 5###----------------------------------------------------------------------------- 6APPNAME = common_lib 7ERLS = $(patsubst src/%.erl,%.erl,$(wildcard src/*.erl)) 8MODS = $(subst $(space),$(comma)$(space),$(ERLS:.erl=)) 9DOCS = $(patsubst doc/%.ndoc,%.ndoc,$(wildcard doc/*.ndoc)) 10MANS = $(DOCS:.ndoc=.3) 11HTMS = $(DOCS:.ndoc=.html) 12TEXS = $(DOCS:.ndoc=.tex) 13PDFS = $(DOCS:.ndoc=.pdf) 14 15### Dependecy Search Paths 16VPATH = src:include:ebin:doc 17 18.PHONY: compile clean clobber test doc 19.SUFFIXES: .erl .hrl .beam .app.src .app .rel .ndoc 20 21###----------------------------------------------------------------------------- 22### TARGETS 23###----------------------------------------------------------------------------- 24compile: 25 ./rebar compile 26 27clean: 28 ./rebar clean 29 30clobber: clean 31 @$(RM) -R doc/html 32 @$(RM) -R doc/man 33 @$(RM) -R doc/pdf 34 @$(RM) -R logs 35 @$(RM) -R test/*.beam 36 37test: 38 ./rebar ct 39 40doc: dirs man 41 42dirs: 43 @$(MKDIR) doc/man 44 45man: $(MANS) 46 @$(MV) doc/man/$(APPNAME)_overview.3 doc/man/$(APPNAME).1 47 48html: $(HTMS) 49 @$(MV) doc/html/$(APPNAME)_overview.html doc/html/index.html 50 51pdf: $(PDFS) 52 53## Rules 54%.3: %.ndoc 55 @$(CD) doc; $(SED) "s|%MODULES%|`echo $(MODS)`|g" ../$^ | \ 56 $(SED) "s|%VSN%|$(VSN)|g" | $(SED) "s|%APPLICATION%|$(APPNAME)|g" | \ 57 $(ERLDOC) -i - -t man --no-toc -o man/$@; $(CD) .. 58 59%.html: %.ndoc 60 @$(CD) doc; $(SED) "s|%MODULES%|`echo $(MODS)`|g" ../$^ | \ 61 $(SED) "s|%VSN%|$(VSN)|g" | $(SED) "s|%APPLICATION%|$(APPNAME)|g" | \ 62 $(ERLDOC) -i - -t xhtml -o html/$@; $(CD) .. 63 64%.pdf: %.ndoc 65 @$(CD) doc; $(SED) "s|%MODULES%|`echo $(MODS)`|g" ../$^ | \ 66 $(SED) "s|%VSN%|$(VSN)|g" | $(SED) "s|%APPLICATION%|$(APPNAME)|g" | \ 67 $(ERLDOC) -i - -t pdf --no-toc -o pdf/$@; $(CD) .. 68