X-Git-Url: https://git.llucax.com/software/mutest.git/blobdiff_plain/ee114821d8fdd42f0adc9fdd242dc17533a99f2f..963a0b5f13246788645ec50117e18806afd06ea5:/Makefile?ds=inline diff --git a/Makefile b/Makefile index 0276d7b..b508e20 100644 --- a/Makefile +++ b/Makefile @@ -20,6 +20,16 @@ MANUAL_GARBAGE = manual.aux manual.log manual.out RST2HTML = rst2html RST2LATEX = rst2latex PDFLATEX = pdflatex +INSTALL = install +LN = ln +MKDIR = mkdir +CHMOD = chmod +GIT = git +# Directories +prefix = /usr/local +BIN_DIR = bin +INC_DIR = include +DOC_DIR = shared/doc/mutest all: @@ -41,11 +51,64 @@ $(MANUAL_PDF): $(MANUAL_LATEX) $(PDFLATEX) $< $(PDFLATEX) $< +install-readme: + $(INSTALL) -m 755 -d $(prefix)/$(DOC_DIR) + $(INSTALL) -m 644 $(MANUAL_SRC) $(prefix)/$(DOC_DIR)/$(MANUAL_SRC) + +install-html: $(MANUAL_HTML) + $(INSTALL) -m 755 -d $(prefix)/$(DOC_DIR) + $(INSTALL) -m 644 $(MANUAL_HTML) $(prefix)/$(DOC_DIR)/$(MANUAL_HTML) + +install-pdf: $(MANUAL_PDF) + $(INSTALL) -m 755 -d $(prefix)/$(DOC_DIR) + $(INSTALL) -m 644 $(MANUAL_PDF) $(prefix)/$(DOC_DIR)/$(MANUAL_PDF) + +install-c: + $(INSTALL) -m 755 -d $(prefix)/$(BIN_DIR) + $(INSTALL) -m 755 -d $(prefix)/$(INC_DIR) + $(INSTALL) -m 644 mutest.c $(prefix)/$(INC_DIR)/mutest.c + $(INSTALL) -m 644 mutest.h $(prefix)/$(INC_DIR)/mutest.h + $(INSTALL) -m 755 mkmutest $(prefix)/$(BIN_DIR)/mkmutest + +install-py: + $(INSTALL) -m 755 -d $(prefix)/$(BIN_DIR) + $(INSTALL) -m 755 -d $(prefix)/$(INC_DIR) + $(INSTALL) -m 644 mutest.h $(prefix)/$(INC_DIR)/mutest.h + $(INSTALL) -m 755 mutest $(prefix)/$(BIN_DIR)/mutest + +install-doc: install-readme install-html install-pdf + +install: install-c install-py install-doc + test: $(MAKE) -k -C sample test test-py +# You shouldn't use this target +ifeq ($(MAKECMDGOALS),release) +ifeq ($(VERSION),) +$(error You have to specify a VERSION when using the 'release' target) +endif +endif +release: doc + $(RM) $(MANUAL_GARBAGE) + $(GIT) tag -f $(VERSION) + $(GIT) push --tags + $(MKDIR) -p releases + $(CHMOD) 755 releases + $(GIT) archive --format=tar --prefix=mutest-$(VERSION)/ $(VERSION) \ + | gzip > releases/mutest-$(VERSION).tar.gz + $(CHMOD) 644 releases/mutest-$(VERSION).tar.gz + $(LN) -sf mutest-$(VERSION).tar.gz releases/mutest.tar.gz + $(INSTALL) -m 644 manual.html releases/manual-$(VERSION).html + $(LN) -sf manual-$(VERSION).html releases/manual.html + $(INSTALL) -m 644 manual.pdf releases/manual-$(VERSION).pdf + $(LN) -sf manual-$(VERSION).pdf releases/manual.pdf + clean: $(RM) $(MANUAL_HTML) $(MANUAL_LATEX) $(MANUAL_PDF) $(MANUAL_GARBAGE) -.PHONY: all doc doc-html doc-latex doc-pdf test clean +.PHONY: all doc doc-html doc-latex doc-pdf \ + install-readme install-html install-pdf install-doc \ + install-c install-py install \ + release test clean