![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /proc/thread-self/root/usr/GNUstep/System/Library/Makefiles/Master/ |
Upload File : |
# -*-makefile-*- # source-distribution.make # # Makefile rules to build snapshots from cvs, source .tar.gz etc # # Copyright (C) 2000, 2001 Free Software Foundation, Inc. # # Author: Adam Fedor <fedor@gnu.org> # Author: Nicola Pero <n.pero@mi.flashnet.it> # # This file is part of the GNUstep Makefile Package. # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 3 # of the License, or (at your option) any later version. # # You should have received a copy of the GNU General Public # License along with this library; see the file COPYING. # If not, write to the Free Software Foundation, # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # Interesting variables to define in your GNUmakefile: # # PACKAGE_NAME = gnustep-base # PACKAGE_VERSION = 1.0.0 # # For Git exports, you may want to define something like: # # GIT_MODULE_NAME = libs-base # # GIT_MODULE_NAME will default to the value of PACKAGE_NAME. # GIT_TAG_NAME is the same as GIT_MODULE_NAME if not set, and is used as # a prefix when creating a tag or exporting a tag. Currently, the Git # integration does not interact with remote repository, so specifying # a base URL is not needed. # # When Git tagging, an ANNOUNCE file can be used to create the annotated Git # tag's commit message. # - Passing GIT_TAG_ANNOUNCE_FILE will copy the file, then prefix it with # a one-line 'Release $(PACKAGE_VERSION).' and an empty line. # - Additionally passing GIT_TAG_ANNOUNCE_OMIT_PREFACE will use the ANNOUNCE # file verbatim, without the prefix. # # GIT_TAG_SIGN can be used to control whether the annotated Git tag should # be GPG-signed. Empty value or unspecified means no signature, 'yes' means # use the default signing key, and another value specifies which key should # be used; you can use things like key ID or e-mail address. # # For SVN exports, you may want to define something like: # # SVN_MODULE_NAME = base # SVN_BASE_URL = http://svn.gna.org/svn/gnustep/libs # # SVN_TAG_NAME is the same as SVN_MODULE_NAME if not set and is used to # tag and retrieve a module version. # # For CVS exports, you may want to define something like: # # CVS_MODULE_NAME = base # CVS_FLAGS = -d :pserver:anoncvs@subversions.gnu.org:/cvsroot/gnustep # # CVS_TAG_NAME is the same as CVS_MODULE_NAME if not set and is used to # tag and retreive a module version # # You can also pass/override them on the command line if you want, # make cvs-snapshot CVS_FLAGS="-d :pserver:anoncvs@subversions.gnu.org:/cvsroot/gnustep -z9" # # If you set the RELEASE_DIR variable, all generated .tar.gz files will # be automatically moved to that directory after having being created. # RELEASE_DIR is either an absolute path, or a relative path to the # current directory. # # # By default, .tar.gz archives will be created for distributions. # You can change the compression mechanism used by setting COMPRESSION # to any of the following variables - # # none (no compression used) # gzip (gzip, it's the default) # bzip2 (bzip2) # # For example, 'make dist COMPRESSION=bzip2' creates a .tar.bz2 for # distribution. # # # If you want to omit some files from the distribution archive, add a # .dist-ignore file in the top-level directory of your package, listing # all files (/directories) you want to exclude from distribution. # CVS and .svn files are automatically excluded. # ifeq ($(CVS_MODULE_NAME),) CVS_MODULE_NAME = $(PACKAGE_NAME) endif ifeq ($(CVS_TAG_NAME),) CVS_TAG_NAME = $(CVS_MODULE_NAME) endif ifeq ($(CVS_FLAGS),) CVS_FLAGS = -z3 endif ifeq ($(SVN_MODULE_NAME),) SVN_MODULE_NAME = $(PACKAGE_NAME) endif ifeq ($(SVN_TAG_NAME),) SVN_TAG_NAME = $(SVN_MODULE_NAME) endif ifeq ($(GIT_MODULE_NAME),) GIT_MODULE_NAME = $(SVN_MODULE_NAME) endif ifeq ($(GIT_TAG_NAME),) GIT_TAG_NAME = $(GIT_MODULE_NAME) endif ifeq ($(HG_MODULE_NAME),) HG_MODULE_NAME = $(SVN_MODULE_NAME) endif ifeq ($(HG_TAG_NAME),) HG_TAG_NAME = $(HG_MODULE_NAME) endif # Set the cvs command we use. Most of the times, this is 'cvs' and # you need to do nothing. But you can override 'cvs' with something # else. Useful for example when you need cvs to go through runsocks # you can do make cvs-snapshot CVS='runsocks cvs' ifeq ($(CVS),) CVS = cvs endif ifeq ($(SVN),) SVN = svn endif ifeq ($(GIT),) GIT = git endif ifeq ($(HG),) HG = hg endif # # You can set COMPRESSION_PROGRAM and COMPRESSION_EXT by hand if your # COMPRESSION type is not listed here. # # Otherwise, set COMPRESSION to '' or 'gzip' (for gzip), to 'none' # (for no compression), to 'bzip2' (for bzip2), and # COMPRESSION_PROGRAM, COMPRESSION_EXT is set for you. # ifeq ($(COMPRESSION_PROGRAM),) ifeq ($(COMPRESSION), none) COMPRESSION_PROGRAM = cat COMPRESSION_EXT = else ifeq ($(COMPRESSION), bzip2) COMPRESSION_PROGRAM = bzip2 COMPRESSION_EXT = .bz2 else ifeq ($(COMPRESSION),) COMPRESSION_PROGRAM = gzip COMPRESSION_EXT = .gz else ifeq ($(COMPRESSION), gzip) COMPRESSION_PROGRAM = gzip COMPRESSION_EXT = .gz else $(warning "Unrecognized COMPRESSION - available are 'none', 'gzip', 'bzip2'") $(warning "Unrecognized COMPRESSION - using gzip") COMPRESSION_PROGRAM = gzip COMPRESSION_EXT = .gz endif endif endif endif endif # COMPRESSION # Whether to GPG sign the Git tag. # # - By default (or with empty variable GIT_TAG_SIGN), annotated tag will be # created without signature. # - If GIT_TAG_SIGN has value of 'yes', default e-mail address's key will # be used. # - If GIT_TAG_SIGN has another value, the value will be used as the signing # e-mail address. ifeq ($(GIT_TAG_SIGN), ) GIT_TAG_ANNOTATION_FLAGS = -a else ifeq ($(GIT_TAG_SIGN), yes) GIT_TAG_ANNOTATION_FLAGS = -s else GIT_TAG_ANNOTATION_FLAGS = -u $(GIT_TAG_SIGN) endif endif # Due to peculiarities of some packaging systems or package distribution # systems, we may want to permit customization of tarball version string. ifeq ($(TARBALL_VERSION), ) TARBALL_VERSION := $(PACKAGE_VERSION) endif ifeq ($(TARBALL_VERSION_INCLUDE_SVN_REVISION), yes) # Revision; potentially expensive so expand when used. SVN_REVISION = $(shell svn info . | sed -ne 's/^Revision: //p') TARBALL_VERSION := $(TARBALL_VERSION)~svn$(SVN_REVISION) endif ifeq ($(TARBALL_VERSION_INCLUDE_DATE_TIME), yes) # Expand immediately; it should be constant in the script. DATE_TIME_VERSION := $(shell date +%Y%m%d%H%M) TARBALL_VERSION := $(TARBALL_VERSION)~date$(DATE_TIME_VERSION) endif VERSION_NAME = $(PACKAGE_NAME)-$(TARBALL_VERSION) ARCHIVE_FILE = $(VERSION_NAME).tar$(COMPRESSION_EXT) VERTAG = $(subst .,_,$(PACKAGE_VERSION)) .PHONY: dist cvs-tag cvs-dist cvs-snapshot internal-cvs-export svn-tag svn-tag-stable svn-dist svn-bugfix internal-svn-export svn-snapshot # # Build a .tar.gz with the whole directory tree # dist: distclean $(ECHO_NOTHING)echo "Generating $(ARCHIVE_FILE) in the parent directory..."; \ SNAPSHOT_DIR=`basename $$(pwd)`; \ if [ "$$SNAPSHOT_DIR" != "$(VERSION_NAME)" ]; then \ if [ -d "../$(VERSION_NAME)" ]; then \ echo "$(VERSION_NAME) already exists in parent directory (?):"; \ echo "Saving old version in $(VERSION_NAME)~"; \ mv ../$(VERSION_NAME) ../$(VERSION_NAME)~; \ fi; \ mkdir ../$(VERSION_NAME); \ $(TAR) cfX - $(GNUSTEP_MAKEFILES)/tar-exclude-list . | (cd ../$(VERSION_NAME); $(TAR) xf -); \ fi; \ cd ..; \ if [ -f $(ARCHIVE_FILE) ]; then \ echo "$(ARCHIVE_FILE) already exists:"; \ echo "Saving old version in $(ARCHIVE_FILE)~"; \ mv $(ARCHIVE_FILE) $(ARCHIVE_FILE)~; \ fi; \ if [ -f $(VERSION_NAME)/.dist-ignore ]; then \ $(TAR) cfX - $(VERSION_NAME)/.dist-ignore $(VERSION_NAME) \ | $(COMPRESSION_PROGRAM) > $(ARCHIVE_FILE); \ else \ $(TAR) cf - $(VERSION_NAME) \ | $(COMPRESSION_PROGRAM) > $(ARCHIVE_FILE); \ fi; \ if [ "$$SNAPSHOT_DIR" != "$(VERSION_NAME)" ]; then \ rm -rf $(VERSION_NAME); \ fi; \ if [ ! -f $(ARCHIVE_FILE) ]; then \ echo "*Error* creating .tar$(COMPRESSION_EXT) archive"; \ exit 1; \ fi;$(END_ECHO) ifneq ($(RELEASE_DIR),) $(ECHO_NOTHING)echo "Moving $(ARCHIVE_FILE) to $(RELEASE_DIR)..."; \ if [ ! -d $(RELEASE_DIR) ]; then \ $(MKDIRS) $(RELEASE_DIR); \ fi; \ if [ -f $(RELEASE_DIR)/$(ARCHIVE_FILE) ]; then \ echo "$(RELEASE_DIR)/$(ARCHIVE_FILE) already exists:"; \ echo "Saving old version in $(RELEASE_DIR)/$(ARCHIVE_FILE)~";\ mv $(RELEASE_DIR)/$(ARCHIVE_FILE) \ $(RELEASE_DIR)/$(ARCHIVE_FILE)~;\ fi; \ mv ../$(ARCHIVE_FILE) $(RELEASE_DIR)$(END_ECHO) endif # # Tag the SVN source with the $(SVN_TAG_NAME)-$(VERTAG) tag # svn-tag-stable: $(SVN) copy $(SVN_BASE_URL)/$(SVN_MODULE_NAME)/branches/stable $(SVN_BASE_URL)/$(SVN_MODULE_NAME)/tags/$(SVN_TAG_NAME)-$(VERTAG) -m "Tag version $(VERTAG)" svn-tag: $(SVN) copy $(SVN_BASE_URL)/$(SVN_MODULE_NAME)/trunk $(SVN_BASE_URL)/$(SVN_MODULE_NAME)/tags/$(SVN_TAG_NAME)-$(VERTAG) -m "Tag version $(VERTAG)" # # Build a .tar.gz from the SVN sources using revision/tag # $(SVN_TAG_NAME)-$(VERTAG) as for a new release of the package. # svn-dist: EXPORT_SVN_URL = $(SVN_BASE_URL)/$(SVN_MODULE_NAME)/tags/$(SVN_TAG_NAME)-$(VERTAG) svn-dist: internal-svn-export # # Build a .tar.gz from the SVN source from the stable branch # as a bugfix release. # svn-bugfix: EXPORT_SVN_URL = $(SVN_BASE_URL)/$(SVN_MODULE_NAME)/branches/stable svn-bugfix: internal-svn-export # # Build a .tar.gz from the SVN source as they are now # svn-snapshot: EXPORT_SVN_URL = $(SVN_BASE_URL)/$(SVN_MODULE_NAME)/trunk svn-snapshot: internal-svn-export # # Build a .tar.gz from the local SVN tree # svn-export: EXPORT_SVN_URL = . svn-export: internal-svn-export internal-svn-export: $(ECHO_NOTHING)echo "Exporting from module $(SVN_MODULE_NAME) on SVN..."; \ if [ -e $(VERSION_NAME) ]; then \ echo "*Error* cannot export: $(VERSION_NAME) already exists"; \ exit 1; \ fi; \ $(SVN) export $(EXPORT_SVN_URL) $(VERSION_NAME); \ echo "Generating $(ARCHIVE_FILE)"; \ if [ -f $(ARCHIVE_FILE) ]; then \ echo "$(ARCHIVE_FILE) already exists:"; \ echo "Saving old version in $(ARCHIVE_FILE)~"; \ mv $(ARCHIVE_FILE) $(ARCHIVE_FILE)~; \ fi; \ if [ -f $(VERSION_NAME)/.dist-ignore ]; then \ $(TAR) cfX - $(VERSION_NAME)/.dist-ignore $(VERSION_NAME) \ | $(COMPRESSION_PROGRAM) > $(ARCHIVE_FILE); \ else \ $(TAR) cf - $(VERSION_NAME) \ | $(COMPRESSION_PROGRAM) > $(ARCHIVE_FILE); \ fi; \ rm -rf $(VERSION_NAME); \ if [ ! -f $(ARCHIVE_FILE) ]; then \ echo "*Error* creating .tar$(COMPRESSION_EXT) archive"; \ exit 1; \ fi;$(END_ECHO) ifneq ($(RELEASE_DIR),) $(ECHO_NOTHING)echo "Moving $(ARCHIVE_FILE) to $(RELEASE_DIR)..."; \ if [ ! -d $(RELEASE_DIR) ]; then \ $(MKDIRS) $(RELEASE_DIR); \ fi; \ if [ -f $(RELEASE_DIR)/$(ARCHIVE_FILE) ]; then \ echo "$(RELEASE_DIR)/$(ARCHIVE_FILE) already exists:"; \ echo "Saving old version in $(RELEASE_DIR)/$(ARCHIVE_FILE)~";\ mv $(RELEASE_DIR)/$(ARCHIVE_FILE) \ $(RELEASE_DIR)/$(ARCHIVE_FILE)~;\ fi; \ mv $(ARCHIVE_FILE) $(RELEASE_DIR)$(END_ECHO) endif # # Tag the CVS source with the $(CVS_TAG_NAME)-$(VERTAG) tag # cvs-tag: $(CVS) $(CVS_FLAGS) rtag $(CVS_TAG_NAME)-$(VERTAG) $(CVS_MODULE_NAME) # # Build a .tar.gz from the CVS sources using revision/tag # $(CVS_TAG_NAME)-$(VERTAG) # cvs-dist: EXPORT_CVS_FLAGS = -r $(CVS_TAG_NAME)-$(VERTAG) cvs-dist: internal-cvs-export # # Build a .tar.gz from the CVS source as they are now # cvs-snapshot: EXPORT_CVS_FLAGS = -D now cvs-snapshot: internal-cvs-export internal-cvs-export: $(ECHO_NOTHING)echo "Exporting from module $(CVS_MODULE_NAME) on CVS..."; \ if [ -e $(CVS_MODULE_NAME) ]; then \ echo "*Error* cannot export: $(CVS_MODULE_NAME) already exists"; \ exit 1; \ fi; \ $(CVS) $(CVS_FLAGS) export $(EXPORT_CVS_FLAGS) $(CVS_MODULE_NAME); \ echo "Generating $(ARCHIVE_FILE)"; \ mv $(CVS_MODULE_NAME) $(VERSION_NAME); \ if [ -f $(ARCHIVE_FILE) ]; then \ echo "$(ARCHIVE_FILE) already exists:"; \ echo "Saving old version in $(ARCHIVE_FILE)~"; \ mv $(ARCHIVE_FILE) $(ARCHIVE_FILE)~; \ fi; \ if [ -f $(VERSION_NAME)/.dist-ignore ]; then \ $(TAR) cfX - $(VERSION_NAME)/.dist-ignore $(VERSION_NAME) \ | $(COMPRESSION_PROGRAM) > $(ARCHIVE_FILE); \ else \ $(TAR) cf - $(VERSION_NAME) \ | $(COMPRESSION_PROGRAM) > $(ARCHIVE_FILE); \ fi; \ rm -rf $(VERSION_NAME); \ if [ ! -f $(ARCHIVE_FILE) ]; then \ echo "*Error* creating .tar$(COMPRESSION_EXT) archive"; \ exit 1; \ fi;$(END_ECHO) ifneq ($(RELEASE_DIR),) $(ECHO_NOTHING)echo "Moving $(ARCHIVE_FILE) to $(RELEASE_DIR)..."; \ if [ ! -d $(RELEASE_DIR) ]; then \ $(MKDIRS) $(RELEASE_DIR); \ fi; \ if [ -f $(RELEASE_DIR)/$(ARCHIVE_FILE) ]; then \ echo "$(RELEASE_DIR)/$(ARCHIVE_FILE) already exists:"; \ echo "Saving old version in $(RELEASE_DIR)/$(ARCHIVE_FILE)~";\ mv $(RELEASE_DIR)/$(ARCHIVE_FILE) \ $(RELEASE_DIR)/$(ARCHIVE_FILE)~;\ fi; \ mv $(ARCHIVE_FILE) $(RELEASE_DIR)$(END_ECHO) endif # # Create an annotated Git tag with the $(GIT_TAG_NAME)-$(VERTAG) tag. # # New tag still needs to be published with git push --tags. # ifeq ($(GIT_TAG_ANNOUNCE_FILE),) git-tag: $(GIT) tag \ $(GIT_TAG_ANNOTATION_FLAGS) \ $(GIT_TAG_NAME)-$(VERTAG) \ -m "Release $(PACKAGE_VERSION)" else ifneq ($(GIT_TAG_ANNOUNCE_OMIT_PREFACE),yes) .INTERMEDIATE += git-tag-announce-file-$(VERTAG).tmp git-tag-announce-file-$(VERTAG).tmp: $(GIT_TAG_ANNOUNCE_FILE) printf "Release $(PACKAGE_VERSION).\n\n" > $@ cat $(GIT_TAG_ANNOUNCE_FILE) >> $@ git-tag: git-tag-announce-file-$(VERTAG).tmp $(GIT) tag \ $(GIT_TAG_ANNOTATION_FLAGS) \ $(GIT_TAG_NAME)-$(VERTAG) \ -F $< else git-tag: $(GIT) tag \ $(GIT_TAG_ANNOTATION_FLAGS) \ $(GIT_TAG_NAME)-$(VERTAG) \ -F $(GIT_TAG_ANNOUNCE_FILE) endif endif # # Build a .tar.gz from the Git sources using revision/tag # $(GIT_TAG_NAME)-$(VERTAG) as for a new release of the package. # # Note: .dist-ignore is unused at this time. # git-dist: $(ECHO_NOTHING)echo "Exporting from branch or tag $(GIT_TAG_NAME)-$(VERTAG) on local Git repository..."; \ if $(GIT) show $(GIT_TAG_NAME)-$(VERTAG):.dist-ignore 2>/dev/null >/dev/null; then \ echo "*Error* cannot export: dist-ignore is currently unused"; \ else \ $(GIT) archive --format=tar.gz $(GIT_TAG_NAME)-$(VERTAG) -o $(ARCHIVE_FILE) --prefix=$(VERSION_NAME)/ ; \ fi ; \ if [ ! -f $(ARCHIVE_FILE) ]; then \ echo "*Error* creating .tar$(COMPRESSION_EXT) archive"; \ exit 1; \ fi;$(END_ECHO) ifneq ($(RELEASE_DIR),) $(ECHO_NOTHING)echo "Moving $(ARCHIVE_FILE) to $(RELEASE_DIR)..."; \ if [ ! -d $(RELEASE_DIR) ]; then \ $(MKDIRS) $(RELEASE_DIR); \ fi; \ if [ -f $(RELEASE_DIR)/$(ARCHIVE_FILE) ]; then \ echo "$(RELEASE_DIR)/$(ARCHIVE_FILE) already exists:"; \ echo "Saving old version in $(RELEASE_DIR)/$(ARCHIVE_FILE)~";\ mv $(RELEASE_DIR)/$(ARCHIVE_FILE) \ $(RELEASE_DIR)/$(ARCHIVE_FILE)~;\ fi; \ mv $(ARCHIVE_FILE) $(RELEASE_DIR)$(END_ECHO) endif git-tag-stable: $(ECHO_NOTHING)echo "*Error* tagging stable branch in Git is not supported at this time."$(END_ECHO) exit 1 git-bugfix: $(ECHO_NOTHING)echo "*Error* creating a bugfix release from the stable branch in Git is not supported at this time."$(END_ECHO) exit 1 git-snapshot: $(ECHO_NOTHING)echo "*Error* creating a snapshot tarball from the current Git master is not supported at this time."$(END_ECHO) exit 1 git-export: $(ECHO_NOTHING)echo "*Error* creating a tarball from the current Git working copy is not supported at this time."$(END_ECHO) exit 1 # # Tag the Mercurial source with $(HG_TAG_NAME)-$(VERTAG) tag. # hg-tag: $(HG) tag -m "Release $(PACKAGE_VERSION)" $(HG_TAG_NAME)-$(VERTAG) # # Build a .tar.gz from the Hg sources using revision/tag # $(HG_TAG_NAME)-$(VERTAG) as for a new release of the package. # hg-dist: $(ECHO_NOTHING)echo "Exporting from branch or tag $(HG_TAG_NAME)-$(VERTAG) on local Mercurial repository..."; \ $(HG) archive -r $(HG_TAG_NAME)-$(VERTAG) -p $(VERSION_NAME)/ $(ARCHIVE_FILE); \ if [ ! -f $(ARCHIVE_FILE) ]; then \ echo "*Error* creating .tar$(COMPRESSION_EXT) archive"; \ exit 1; \ fi;$(END_ECHO) ifneq ($(RELEASE_DIR),) $(ECHO_NOTHING)echo "Moving $(ARCHIVE_FILE) to $(RELEASE_DIR)..."; \ if [ ! -d $(RELEASE_DIR) ]; then \ $(MKDIRS) $(RELEASE_DIR); \ fi; \ if [ -f $(RELEASE_DIR)/$(ARCHIVE_FILE) ]; then \ echo "$(RELEASE_DIR)/$(ARCHIVE_FILE) already exists:"; \ echo "Saving old version in $(RELEASE_DIR)/$(ARCHIVE_FILE)~";\ mv $(RELEASE_DIR)/$(ARCHIVE_FILE) \ $(RELEASE_DIR)/$(ARCHIVE_FILE)~;\ fi; \ mv $(ARCHIVE_FILE) $(RELEASE_DIR)$(END_ECHO) endif hg-tag-stable: $(ECHO_NOTHING)echo "*Error* tagging stable branch in Mercurial is not supported at this time."$(END_ECHO) exit 1 hg-bugfix: $(ECHO_NOTHING)echo "*Error* creating a bugfix release from the stable branch in Mercurial is not supported at this time."$(END_ECHO) exit 1 hg-snapshot: $(ECHO_NOTHING)echo "*Error* creating a snapshot tarball from the current Mercurial master is not supported at this time."$(END_ECHO) exit 1 hg-export: $(ECHO_NOTHING)echo "*Error* creating a tarball from the current Mercurial working copy is not supported at this time."$(END_ECHO) exit 1