# # $Id$ # include $(CONFIG)/RULES_DIRS uninstall$(DIVIDER)%: @$(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: clean uninstall uninstall: $(addprefix uninstall$(DIVIDER),$(BUILD_ARCHS)) @$(RMDIR) rec.bak rec @$(RMDIR) $(INSTALL_DBD) $(INSTALL_INCLUDE) $(INSTALL_DOC)\ $(INSTALL_HTML) $(INSTALL_JAVA) $(INSTALL_TEMPLATES) @$(MAKE) -f Makefile cleandirs 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 - Installs executables in bin/ (default rule)" @echo " build - Builds objects, using libraries from build_libs" @echo " clean - Cleans objects. Clean removes the O. dirs" @echo " in all except the O. level Makefile" @echo " depends - Generates include dependencies" @echo "\"Partial\" build targets supported by Makefiles:" @echo " install. - Builds and installs only." @echo " clean. - Cleans binaries in O. dirs only." @echo " build. - Builds only." @echo " depends. - Generates dependencies only." @echo "Targets supported by top level Makefile:" @echo " uninstall - Cleans directories created by the install." @echo " tar - Create tar file " @echo "Indiv. object targets are supported by O. level Makefile .e.g" @echo " xxxRecord.o" .PHONY : uninstall tar help cleandirs distclean