#************************************************************************* # Copyright (c) 2002 The University of Chicago, as Operator of Argonne # National Laboratory. # Copyright (c) 2002 The Regents of the University of California, as # Operator of Los Alamos National Laboratory. # EPICS BASE Versions 3.13.7 # and higher are distributed subject to a Software License Agreement found # in file LICENSE that is included with this distribution. #************************************************************************* # # $Id$ # include $(CONFIG)/RULES_DIRS uninstall$(DIVIDER)%: uninstallDirs @$(RMDIR) $(INSTALL_LOCATION_BIN)/$* $(INSTALL_LOCATION_LIB)/$* cleandirs: @echo " " #stops "nothing to be done for cleandirs" message ifeq ($(wildcard $(INSTALL_LOCATION_BIN)/*),) @$(RMDIR) $(INSTALL_LOCATION_BIN) endif ifeq ($(wildcard $(INSTALL_LOCATION_LIB)/*),) @$(RMDIR) $(INSTALL_LOCATION_LIB) endif distclean: realclean realuninstall realuninstall: @$(RMDIR) $(INSTALL_LOCATION_BIN) $(INSTALL_LOCATION_LIB) @$(RMDIR) $(INSTALL_DBD) $(INSTALL_INCLUDE) $(INSTALL_DOC)\ $(INSTALL_HTML) $(INSTALL_JAVA) $(INSTALL_TEMPLATES) \ $(INSTALL_DB) uninstall: $(addprefix uninstall$(DIVIDER),$(BUILD_ARCHS)) @$(MAKE) -f Makefile cleandirs uninstallDirs: @$(RMDIR) $(INSTALL_DBD) $(INSTALL_INCLUDE) $(INSTALL_DOC)\ $(INSTALL_HTML) $(INSTALL_JAVA) $(INSTALL_TEMPLATES) \ $(INSTALL_DB) tar: @DIRNAME=$(notdir $(shell pwd)); \ echo "TOP: Creating $$DIRNAME.tar file..."; \ ls Makefile* | xargs tar vcf $$DIRNAME.tar; \ if [ -f .current_rel_hist ]; then \ ls .current_rel_hist | xargs tar vrf $$DIRNAME.tar ; \ fi ;\ if [ -f EPICS_BASE ]; then \ ls EPICS_BASE | xargs tar vrf $$DIRNAME.tar ; \ fi ;\ for DIR in ${DIRS}; do \ find $${DIR} -name CVS -prune -o ! -type d -print \ | grep -v "/O\..*$$" | xargs tar vrf $$DIRNAME.tar; \ done # tarVersion: Rule that runs from one level up, generates a temporary softlink # sub-directory with version number, tars, gzips, and then removes the subdirectory. # Usage: "gnumake tarVersion VERSION=1.2" tarVersion: @MODULE=$(notdir $(shell pwd)); \ TARNAME=$$MODULE-$(VERSION); \ TARFILE=$$MODULE/$$TARNAME.tar; \ echo "TOP: Creating $$TARNAME.tar file..."; \ cd ..; $(RM) $$TARNAME; ln -s $$MODULE $$TARNAME; \ ls $$TARNAME/READ* $$TARNAME/Makefile* | xargs tar vcf $$TARFILE; \ for DIR in ${DIRS}; do \ find $$TARNAME/$$DIR -name CVS -prune -o ! -type d -print \ | grep -v "/O\..*$$" | xargs tar vrf $$TARFILE; \ done; \ gzip -f $$TARFILE; \ $(RM) $$TARNAME help: @echo "Usage: gnumake [options] [target] ..." @echo "Targets supported by all Makefiles:" @echo " install - Builds and installs all targets (default rule)" @echo " all - Same as install" @echo " buildInstall - Same as install" @echo " clean - Removes the O. dirs created by running make" @echo " In O. dir, clean removes build created files" @echo " realclean - Removes ALL O. dirs" @echo " Cannot be used within an O. dir" @echo " rebuild - Same as clean install" @echo " inc - Installs header files" @echo " build - Builds all targets" @echo "\"Partial\" build targets supported by Makefiles:" @echo " inc. - Installs only header files." @echo " install. - Builds and installs only." @echo " clean. - Cleans binaries in O. dirs only." @echo " build. - Builds only." @echo "Targets supported by top level Makefile:" @echo " uninstall - Cleans directories created by the install." @echo " realuninstall - Removes ALL install dirs" @echo " distclean - Same as realclean realuninstall." @echo " tar - Create tar file " @echo " help - Prints this list of valid make targets " @echo "Indiv. object targets are supported by O. level Makefile .e.g" @echo " xxxRecord.o" .PHONY : uninstall tar help cleandirs distclean uninstallDirs