15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Makefile for LCOV 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# Make targets: 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# - install: install LCOV tools and man pages on the system 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# - uninstall: remove tools and man pages from the system 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# - dist: create files required for distribution, i.e. the lcov.tar.gz 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# and the lcov.rpm file. Just make sure to adjust the VERSION 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# and RELEASE variables below - both version and date strings 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# will be updated in all necessary files. 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# - clean: remove all generated files 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)# 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 143551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)VERSION := 1.10 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)RELEASE := 1 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)CFG_DIR := $(PREFIX)/etc 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)BIN_DIR := $(PREFIX)/usr/bin 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MAN_DIR := $(PREFIX)/usr/share/man 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TMP_DIR := /tmp/lcov-tmp.$(shell echo $$$$) 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)FILES := $(wildcard bin/*) $(wildcard man/*) README CHANGES Makefile \ 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) $(wildcard rpm/*) lcovrc 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles).PHONY: all info clean install uninstall rpms 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)all: info 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)info: 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @echo "Available make targets:" 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @echo " install : install binaries and man pages in PREFIX (default /)" 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @echo " uninstall : delete binaries and man pages from PREFIX (default /)" 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) @echo " dist : create packages (RPM, tarball) ready for distribution" 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)clean: 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rm -f lcov-*.tar.gz 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rm -f lcov-*.rpm 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) make -C example clean 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)install: 403551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) bin/install.sh bin/lcov $(BIN_DIR)/lcov -m 755 413551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) bin/install.sh bin/genhtml $(BIN_DIR)/genhtml -m 755 423551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) bin/install.sh bin/geninfo $(BIN_DIR)/geninfo -m 755 433551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) bin/install.sh bin/genpng $(BIN_DIR)/genpng -m 755 443551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) bin/install.sh bin/gendesc $(BIN_DIR)/gendesc -m 755 453551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) bin/install.sh man/lcov.1 $(MAN_DIR)/man1/lcov.1 -m 644 463551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) bin/install.sh man/genhtml.1 $(MAN_DIR)/man1/genhtml.1 -m 644 473551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) bin/install.sh man/geninfo.1 $(MAN_DIR)/man1/geninfo.1 -m 644 483551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) bin/install.sh man/genpng.1 $(MAN_DIR)/man1/genpng.1 -m 644 493551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) bin/install.sh man/gendesc.1 $(MAN_DIR)/man1/gendesc.1 -m 644 503551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) bin/install.sh man/lcovrc.5 $(MAN_DIR)/man5/lcovrc.5 -m 644 513551c9c881056c480085172ff9840cab31610854Torne (Richard Coles) bin/install.sh lcovrc $(CFG_DIR)/lcovrc -m 644 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)uninstall: 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bin/install.sh --uninstall bin/lcov $(BIN_DIR)/lcov 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bin/install.sh --uninstall bin/genhtml $(BIN_DIR)/genhtml 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bin/install.sh --uninstall bin/geninfo $(BIN_DIR)/geninfo 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bin/install.sh --uninstall bin/genpng $(BIN_DIR)/genpng 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bin/install.sh --uninstall bin/gendesc $(BIN_DIR)/gendesc 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bin/install.sh --uninstall man/lcov.1 $(MAN_DIR)/man1/lcov.1 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bin/install.sh --uninstall man/genhtml.1 $(MAN_DIR)/man1/genhtml.1 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bin/install.sh --uninstall man/geninfo.1 $(MAN_DIR)/man1/geninfo.1 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bin/install.sh --uninstall man/genpng.1 $(MAN_DIR)/man1/genpng.1 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bin/install.sh --uninstall man/gendesc.1 $(MAN_DIR)/man1/gendesc.1 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bin/install.sh --uninstall man/lcovrc.5 $(MAN_DIR)/man5/lcovrc.5 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bin/install.sh --uninstall lcovrc $(CFG_DIR)/lcovrc 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)dist: lcov-$(VERSION).tar.gz lcov-$(VERSION)-$(RELEASE).noarch.rpm \ 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) lcov-$(VERSION)-$(RELEASE).src.rpm 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)lcov-$(VERSION).tar.gz: $(FILES) 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mkdir $(TMP_DIR) 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mkdir $(TMP_DIR)/lcov-$(VERSION) 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) cp -r * $(TMP_DIR)/lcov-$(VERSION) 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) find $(TMP_DIR)/lcov-$(VERSION) -name CVS -type d | xargs rm -rf 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) make -C $(TMP_DIR)/lcov-$(VERSION) clean 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bin/updateversion.pl $(TMP_DIR)/lcov-$(VERSION) $(VERSION) $(RELEASE) 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) cd $(TMP_DIR) ; \ 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) tar cfz $(TMP_DIR)/lcov-$(VERSION).tar.gz lcov-$(VERSION) 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mv $(TMP_DIR)/lcov-$(VERSION).tar.gz . 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rm -rf $(TMP_DIR) 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)lcov-$(VERSION)-$(RELEASE).noarch.rpm: rpms 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)lcov-$(VERSION)-$(RELEASE).src.rpm: rpms 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)rpms: lcov-$(VERSION).tar.gz 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mkdir $(TMP_DIR) 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mkdir $(TMP_DIR)/BUILD 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mkdir $(TMP_DIR)/RPMS 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mkdir $(TMP_DIR)/SOURCES 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mkdir $(TMP_DIR)/SRPMS 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) cp lcov-$(VERSION).tar.gz $(TMP_DIR)/SOURCES 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) cd $(TMP_DIR)/BUILD ; \ 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) tar xfz $(TMP_DIR)/SOURCES/lcov-$(VERSION).tar.gz \ 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) lcov-$(VERSION)/rpm/lcov.spec 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rpmbuild --define '_topdir $(TMP_DIR)' \ 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) -ba $(TMP_DIR)/BUILD/lcov-$(VERSION)/rpm/lcov.spec 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mv $(TMP_DIR)/RPMS/noarch/lcov-$(VERSION)-$(RELEASE).noarch.rpm . 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mv $(TMP_DIR)/SRPMS/lcov-$(VERSION)-$(RELEASE).src.rpm . 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) rm -rf $(TMP_DIR) 100