mirror of
				https://github.com/flynx/photobook.git
				synced 2025-10-29 02:10:08 +00:00 
			
		
		
		
	docs, cleanup, uninstall target and some tweaking...
Signed-off-by: Alex A. Naanou <alex.nanou@gmail.com>
This commit is contained in:
		
							parent
							
								
									709d3222fd
								
							
						
					
					
						commit
						cfac97cff9
					
				
							
								
								
									
										141
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										141
									
								
								Makefile
									
									
									
									
									
								
							| @ -3,14 +3,31 @@ | ||||
| #
 | ||||
| #
 | ||||
| # Main targets:
 | ||||
| # 	doc		- build class documentation.
 | ||||
| # 	dist	- XXX
 | ||||
| # 	install	- XXX
 | ||||
| # 	doc				- build class documentation
 | ||||
| # 	dist			- build a distributable zip
 | ||||
| # 	install			- install to user home latex path
 | ||||
| #	uninstall		- uninstall/remove from user home latex path
 | ||||
| # 	install-local	- install to local latex path 
 | ||||
| # 						(may require elevated privileges)
 | ||||
| # 	uninstall-local	- uninstall/remove from local latex path
 | ||||
| # 						(may require elevated privileges)
 | ||||
| #
 | ||||
| # Other targets:
 | ||||
| # 	sweep	- cleanup auxiliary generated files.
 | ||||
| # 	sweep			- cleanup auxiliary generated files
 | ||||
| # 	clean			- cleanup repo
 | ||||
| #
 | ||||
| # Variables:
 | ||||
| # 	STRIP_CODE		- if "yes" strip docs from installed code
 | ||||
| # 						(only for install and install-local targets)
 | ||||
| # 	INSTALL_PATH	- install path
 | ||||
| # 						(only for install target)
 | ||||
| #
 | ||||
| #
 | ||||
| # Examples:
 | ||||
| #
 | ||||
| # 	$ INSTALL_PATH=./test STRIP_CODE=no make install
 | ||||
| # 		install to "./test" and do not strip docs.
 | ||||
| #
 | ||||
| #
 | ||||
| #----------------------------------------------------------------------
 | ||||
| # Config...
 | ||||
| @ -21,6 +38,16 @@ SHELL := bash | ||||
| 
 | ||||
| MODULE := photobook | ||||
| 
 | ||||
| #STRIP_CODE ?= no
 | ||||
| STRIP_CODE ?= yes | ||||
| 
 | ||||
| ifeq ($(STRIP_CODE),yes) | ||||
| 	MODULE_CODE := $(MODULE)-stripped | ||||
| else | ||||
| 	MODULE_CODE := $(MODULE) | ||||
| endif | ||||
| 
 | ||||
| 
 | ||||
| # get version...
 | ||||
| # NOTE: the code version is in the code...
 | ||||
| VERSION := $(shell \
 | ||||
| @ -28,10 +55,15 @@ VERSION := $(shell \ | ||||
| 		| grep 'VERSION{' \
 | ||||
| 		| sed 's/.*{\(.*\)}.*/\1/') | ||||
| 
 | ||||
| 
 | ||||
| # LaTeX paths...
 | ||||
| TEX_LOCAL = $(shell kpsewhich --var-value TEXMFLOCAL) | ||||
| TEX_HOME = $(shell kpsewhich --var-value TEXMFHOME) | ||||
| 
 | ||||
| # default install target...
 | ||||
| INSTALL_PATH ?= $(TEX_HOME) | ||||
| 
 | ||||
| 
 | ||||
| # distribution...
 | ||||
| DIST_DIR := dist | ||||
| DIST_FILES := \
 | ||||
| @ -57,15 +89,6 @@ DOC := ./scripts/cls2tex.sh | ||||
| CP := cp | ||||
| MD := mkdir -p | ||||
| 
 | ||||
| # XXX revise...
 | ||||
| ifeq ($(OS),Windows_NT) | ||||
| 	SYS_CP := $(CP) | ||||
| 	SYS_MD := $(CP)  | ||||
| else | ||||
| 	SYS_CP := sudo cp | ||||
| 	SYS_MD := sudo mkdir -p | ||||
| endif | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| #----------------------------------------------------------------------
 | ||||
| @ -75,6 +98,8 @@ endif | ||||
| 	$(TEX) $< > /dev/null | ||||
| 
 | ||||
| 
 | ||||
| # docs...
 | ||||
| #
 | ||||
| # NOTE: .sty and .cls are essentially the same in terms of documentation 
 | ||||
| # 		generation...
 | ||||
| %.tex: %.sty %-meta.tex | ||||
| @ -84,13 +109,34 @@ endif | ||||
| 	$(DOC) $< > $@ | ||||
| 
 | ||||
| 
 | ||||
| # meta docs...
 | ||||
| #
 | ||||
| # NOTE: this is a bit ugly, but allot less so than trying to push \verb
 | ||||
| # 		into a LaTeX macro/env and then getting it out again in one pice...
 | ||||
| %-meta.tex: %.sty | ||||
| 	$(DOC) -p M $< > $@ | ||||
| 	$(DOC) --prefix M $< > $@ | ||||
| 
 | ||||
| %-meta.tex: %.cls | ||||
| 	$(DOC) -p M $< > $@ | ||||
| 	$(DOC) --prefix M $< > $@ | ||||
| 
 | ||||
| 
 | ||||
| # strip docs out...
 | ||||
| #
 | ||||
| # XXX can we unify these???
 | ||||
| %-stripped.tex: %.tex | ||||
| 	$(DOC) --strip $< \
 | ||||
| 		$(DOC) --prefix M --strip \
 | ||||
| 		> $@ | ||||
| 
 | ||||
| %-stripped.sty: %.sty | ||||
| 	$(DOC) --strip $< \
 | ||||
| 		| $(DOC) --prefix M --strip \
 | ||||
| 		> $@ | ||||
| 
 | ||||
| %-stripped.cls: %.cls | ||||
| 	$(DOC) --strip $< \
 | ||||
| 		| $(DOC) --prefix M --strip \
 | ||||
| 		> $@ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @ -111,38 +157,63 @@ doc: $(MODULE).pdf | ||||
| 
 | ||||
| 
 | ||||
| .PHONY: dist | ||||
| dist: $(DIST_FILES) | ||||
| dist: $(DIST_FILES) sweep | ||||
| 	$(MD) $(DIST_DIR) | ||||
| 	zip -Drq $(DIST_DIR)/$(MODULE)-$(VERSION).zip $(DIST_FILES) | ||||
| 
 | ||||
| 
 | ||||
| # XXX merge install and install-user...
 | ||||
| .PHONY: install | ||||
| install: all | ||||
| 	$(SYS_MD) $(TEX_LOCAL)/{tex,source,doc}/latex/$(MODULE) | ||||
| 	$(SYS_CP) $(MODULE).cls $(TEX_LOCAL)/source/latex/$(MODULE) | ||||
| 	$(SYS_CP) $(MODULE).cls $(TEX_LOCAL)/tex/latex/$(MODULE) | ||||
| 	$(SYS_CP) $(MODULE).pdf $(TEX_LOCAL)/doc/latex/$(MODULE) | ||||
| 
 | ||||
| .PHONY: install-user | ||||
| install-user: all | ||||
| 	$(MD) $(TEX_HOME)/{tex,source,doc}/latex/$(MODULE) | ||||
| 	$(CP) $(MODULE).cls $(TEX_HOME)/source/latex/$(MODULE) | ||||
| 	$(CP) $(MODULE).cls $(TEX_HOME)/tex/latex/$(MODULE) | ||||
| 	$(CP) $(MODULE).pdf $(TEX_HOME)/doc/latex/$(MODULE) | ||||
| 
 | ||||
| 
 | ||||
| .PHONY: all | ||||
| all: doc sweep | ||||
| all: doc | ||||
| 
 | ||||
| 
 | ||||
| # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | ||||
| # Install/uninstall targets...
 | ||||
| 
 | ||||
| #----------------------------------------------------------------------
 | ||||
| # NOTE: keep the dir clean unless this is explicitly built...
 | ||||
| .INTERMEDIATE: \ | ||||
| 		$(MODULE)-stripped.cls \
 | ||||
| 		$(MODULE)-stripped.sty \
 | ||||
| 		$(MODULE)-stripped.tex | ||||
| 
 | ||||
| # user install...
 | ||||
| .PHONY: install | ||||
| install: doc $(MODULE_CODE).cls | ||||
| 	$(MD) $(INSTALL_PATH)/{tex,source,doc}/latex/$(MODULE) | ||||
| 	$(CP) $(MODULE).cls $(INSTALL_PATH)/source/latex/$(MODULE) | ||||
| 	$(CP) $(MODULE).pdf $(INSTALL_PATH)/doc/latex/$(MODULE) | ||||
| 	$(CP) $(MODULE_CODE).cls $(INSTALL_PATH)/tex/latex/$(MODULE)/$(MODULE).cls | ||||
| 
 | ||||
| .PHONY: uninstall | ||||
| uninstall: | ||||
| 	rm -rf $(INSTALL_PATH)/{tex,source,doc}/latex/$(MODULE) | ||||
| 	@echo "###" | ||||
| 	@echo "### NOTE: this can leave the following dirs empty:" | ||||
| 	@echo "###         $(INSTALL_PATH)/{tex,source,doc}/latex/" | ||||
| 	@echo "###" | ||||
| 
 | ||||
| 
 | ||||
| # local/system install...
 | ||||
| # NOTE: this should be run with sudo, i.e.:
 | ||||
| # 			$ sudo make install-local
 | ||||
| .PHONY: install-local | ||||
| install-local: INSTALL_PATH := $(TEX_LOCAL) | ||||
| install-local: install | ||||
| 
 | ||||
| .PHONY: uninstall-local | ||||
| uninstall-local: INSTALL_PATH := $(TEX_LOCAL) | ||||
| uninstall-local: uninstall | ||||
| 
 | ||||
| 
 | ||||
| # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 | ||||
| # Cleanup targets...
 | ||||
| 
 | ||||
| .PHONY: sweep | ||||
| sweep: | ||||
| 	rm -f *.{aux,fls,glo,gls,hd,idx,ilg,ind,ins,log,out,toc,fdb_latexmk} | ||||
| 	rm -f \
 | ||||
| 		*.{aux,fls,glo,gls,hd,idx,ilg,ind,ins,log,out,toc,fdb_latexmk} \
 | ||||
| 		*-stripped.{tex,sty,cls} \
 | ||||
| 		*-meta.{tex,sty,cls} \
 | ||||
| 		${MODULE}.tex | ||||
| 
 | ||||
| 
 | ||||
| .PHONY: clean | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user