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
					
				
							
								
								
									
										143
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										143
									
								
								Makefile
									
									
									
									
									
								
							| @ -3,13 +3,30 @@ | |||||||
| #
 | #
 | ||||||
| #
 | #
 | ||||||
| # Main targets:
 | # Main targets:
 | ||||||
| # 	doc		- build class documentation.
 | # 	doc				- build class documentation
 | ||||||
| # 	dist	- XXX
 | # 	dist			- build a distributable zip
 | ||||||
| # 	install	- XXX
 | # 	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:
 | # Other targets:
 | ||||||
| # 	sweep	- cleanup auxiliary generated files.
 | # 	sweep			- cleanup auxiliary generated files
 | ||||||
| # 	clean	- cleanup repo
 | # 	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.
 | ||||||
| #
 | #
 | ||||||
| #
 | #
 | ||||||
| #----------------------------------------------------------------------
 | #----------------------------------------------------------------------
 | ||||||
| @ -21,6 +38,16 @@ SHELL := bash | |||||||
| 
 | 
 | ||||||
| MODULE := photobook | MODULE := photobook | ||||||
| 
 | 
 | ||||||
|  | #STRIP_CODE ?= no
 | ||||||
|  | STRIP_CODE ?= yes | ||||||
|  | 
 | ||||||
|  | ifeq ($(STRIP_CODE),yes) | ||||||
|  | 	MODULE_CODE := $(MODULE)-stripped | ||||||
|  | else | ||||||
|  | 	MODULE_CODE := $(MODULE) | ||||||
|  | endif | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| # get version...
 | # get version...
 | ||||||
| # NOTE: the code version is in the code...
 | # NOTE: the code version is in the code...
 | ||||||
| VERSION := $(shell \
 | VERSION := $(shell \
 | ||||||
| @ -28,10 +55,15 @@ VERSION := $(shell \ | |||||||
| 		| grep 'VERSION{' \
 | 		| grep 'VERSION{' \
 | ||||||
| 		| sed 's/.*{\(.*\)}.*/\1/') | 		| sed 's/.*{\(.*\)}.*/\1/') | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| # LaTeX paths...
 | # LaTeX paths...
 | ||||||
| TEX_LOCAL = $(shell kpsewhich --var-value TEXMFLOCAL) | TEX_LOCAL = $(shell kpsewhich --var-value TEXMFLOCAL) | ||||||
| TEX_HOME = $(shell kpsewhich --var-value TEXMFHOME) | TEX_HOME = $(shell kpsewhich --var-value TEXMFHOME) | ||||||
| 
 | 
 | ||||||
|  | # default install target...
 | ||||||
|  | INSTALL_PATH ?= $(TEX_HOME) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| # distribution...
 | # distribution...
 | ||||||
| DIST_DIR := dist | DIST_DIR := dist | ||||||
| DIST_FILES := \
 | DIST_FILES := \
 | ||||||
| @ -57,15 +89,6 @@ DOC := ./scripts/cls2tex.sh | |||||||
| CP := cp | CP := cp | ||||||
| MD := mkdir -p | 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 | 	$(TEX) $< > /dev/null | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | # docs...
 | ||||||
|  | #
 | ||||||
| # NOTE: .sty and .cls are essentially the same in terms of documentation 
 | # NOTE: .sty and .cls are essentially the same in terms of documentation 
 | ||||||
| # 		generation...
 | # 		generation...
 | ||||||
| %.tex: %.sty %-meta.tex | %.tex: %.sty %-meta.tex | ||||||
| @ -84,13 +109,34 @@ endif | |||||||
| 	$(DOC) $< > $@ | 	$(DOC) $< > $@ | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  | # meta docs...
 | ||||||
|  | #
 | ||||||
| # NOTE: this is a bit ugly, but allot less so than trying to push \verb
 | # 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...
 | # 		into a LaTeX macro/env and then getting it out again in one pice...
 | ||||||
| %-meta.tex: %.sty | %-meta.tex: %.sty | ||||||
| 	$(DOC) -p M $< > $@ | 	$(DOC) --prefix M $< > $@ | ||||||
| 
 | 
 | ||||||
| %-meta.tex: %.cls | %-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 | .PHONY: dist | ||||||
| dist: $(DIST_FILES) | dist: $(DIST_FILES) sweep | ||||||
| 	$(MD) $(DIST_DIR) | 	$(MD) $(DIST_DIR) | ||||||
| 	zip -Drq $(DIST_DIR)/$(MODULE)-$(VERSION).zip $(DIST_FILES) | 	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 | .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...
 | # Cleanup targets...
 | ||||||
| 
 | 
 | ||||||
| .PHONY: sweep | .PHONY: sweep | ||||||
| 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 | .PHONY: clean | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user