File:  [EPICS Repository] / base / configure / RULES_TOP
Revision 1.24: download - view: text, annotated - select for diffs
Tue Sep 22 18:41:25 2009 UTC (8 years, 2 months ago) by jba
Branches: MAIN
CVS tags: HEAD
Merged R3.14.11 changes from R3.14.2 branch.

#*************************************************************************
# 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: RULES_TOP,v 1.24 2009/09/22 18:41:25 jba Exp $
#

include $(CONFIG)/RULES_DIRS

UNINSTALL_DIRS += $(INSTALL_DBD) $(INSTALL_INCLUDE) $(INSTALL_DOC)\
        $(INSTALL_HTML) $(INSTALL_JAVA) $(INSTALL_TEMPLATES) \
        $(INSTALL_DB)
UNINSTALL_DIRS += $(DIRECTORY_TARGETS)

uninstallArchTargets = $(foreach arch,$(BUILD_ARCHS), uninstall$(DIVIDER)$(arch))
archPart = $(word 2, $(subst $(DIVIDER), ,$@))

$(uninstallArchTargets): uninstallDirs
	@$(RMDIR) $(INSTALL_LOCATION_BIN)/$(archPart) $(INSTALL_LOCATION_LIB)/$(archPart) 

cleandirs:
ifeq ($(wildcard $(INSTALL_LOCATION_BIN)/*),)
	@$(RMDIR) $(INSTALL_LOCATION_BIN)
endif
ifeq ($(wildcard $(INSTALL_LOCATION_LIB)/*),)
	@$(RMDIR) $(INSTALL_LOCATION_LIB)
endif
	@echo
# The echo above stops a "nothing to be done for cleandirs" message

distclean: realclean realuninstall

CVSCLEAN=$(firstword $(wildcard $(TOOLS)/cvsclean.pl $(TOP)/src/tools/cvsclean.pl))

cvsclean:
	@$(PERL) $(CVSCLEAN) 

realuninstall:
	@$(RMDIR) $(INSTALL_LOCATION_BIN) $(INSTALL_LOCATION_LIB)
	@$(RMDIR) $(UNINSTALL_DIRS)

uninstall: $(addprefix uninstall$(DIVIDER),$(BUILD_ARCHS))
	@$(MAKE) -f Makefile  cleandirs

uninstallDirs:
	@$(RMDIR) $(UNINSTALL_DIRS)

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.<arch> dirs created by running make"
	@echo "                      In O.<arch> dir, clean removes build created files"
	@echo "     realclean      - Removes ALL O.<arch> dirs"
	@echo "                      Cannot be used within an O.<arch> dir"
	@echo "     rebuild        - Same as clean install"
	@echo "     inc            - Installs header files"
	@echo "     build          - Builds all targets"
	@echo "     archclean      - Removes O.<arch> dirs but not O.Common dir"
	@echo "\"Partial\" build targets supported by Makefiles:"
	@echo "     inc.<arch>     - Installs <arch> only header files."
	@echo "     install.<arch> - Builds and installs <arch> only."
	@echo "     clean.<arch>   - Cleans <arch> binaries in O.<arch> dirs only."
	@echo "     build.<arch>   - Builds <arch> 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 "     cvsclean       - Removes cvs .#* files in all dirs of directory tree"
	@echo "     help           - Prints this list of valid make targets "
	@echo "Indiv. object targets are supported by O.<arch> level Makefile .e.g"
	@echo "     xxxRecord.o"

.PHONY : $(uninstallArchTargets)
.PHONY : uninstall help cleandirs distclean uninstallDirs realuninstall
.PHONY : cvsclean


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>