1# @configure_input@ 2# 3# Main GNUmakefile for the GNUstep GNUmakefile Package. 4# 5# Copyright (C) 1997-2008 Free Software Foundation, Inc. 6# 7# Author: Scott Christley <scottc@net-community.com> 8# Author: Nicola Pero <nicola.pero@meta-innovation.com> 9# 10# This file is part of the GNUstep Makefile Package. 11# 12# This library is free software; you can redistribute it and/or 13# modify it under the terms of the GNU General Public License 14# as published by the Free Software Foundation; either version 3 15# of the License, or (at your option) any later version. 16# 17# You should have received a copy of the GNU General Public 18# License along with this library; see the file COPYING. 19# If not, write to the Free Software Foundation, 20# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 21 22# Disable all built-in suffixes for performance. 23.SUFFIXES: 24 25# Disable all built-in rules with a vague % as target, for performance. 26%: %.c 27 28%: %.cpp 29 30%: %.cc 31 32%: %.C 33 34(%): % 35 36%:: %,v 37 38%:: RCS/%,v 39 40%:: RCS/% 41 42%:: s.% 43 44%:: SCCS/s.% 45 46# 47# I've thought about using the Makefile package files 48# to install the GNUmakefile package, a cool little recursion, 49# but there is nothing to made, and the files get installed 50# in a special directory, so it was simpler this way. 51# 52include config-noarch.make 53include config.make 54 55 56# To install everything inside a temporary directory (say as part of 57# building a binary package - deb or rpm), use something like `make 58# install DESTDIR=/var/tmp/gnustep-make' 59DESTDIR = 60 61# 'special_prefix' is an old alias for DESTDIR. 62ifneq ($(special_prefix),) 63 ifeq ($(GNUSTEP_MAKE_STRICT_V2_MODE),yes) 64 $(error "ERROR: special_prefix is deprecated. Please use DESTDIR instead") 65 else 66 $(warning "WARNING: special_prefix is deprecated. Please use DESTDIR instead") 67 endif 68 DESTDIR = $(special_prefix) 69endif 70 71override GNUSTEP_CONFIG_FILE = $(DESTDIR)@GNUSTEP_CONFIG_FILE@ 72override GNUSTEP_CONFIG_FILE_DIR = $(dir $(GNUSTEP_CONFIG_FILE)) 73tooldir = $(DESTDIR)@GNUSTEP_SYSTEM_TOOLS@ 74makedir = $(DESTDIR)@GNUSTEP_MAKEFILES@ 75mandir = $(DESTDIR)@GNUSTEP_SYSTEM_DOC_MAN@ 76srcdir = @srcdir@ 77VPATH = @srcdir@ 78testdir=$(makedir)/TestFramework 79 80override GNUSTEP_IS_FLATTENED = @GNUSTEP_IS_FLATTENED@ 81override GNUSTEP_TARGET_CPU = @clean_target_cpu@ 82override GNUSTEP_TARGET_VENDOR = @clean_target_vendor@ 83override GNUSTEP_TARGET_OS = @clean_target_os@ 84 85override GNUSTEP_LIB_COMBO = @ac_cv_library_combo@ 86 87ifeq ($(GNUSTEP_IS_FLATTENED), no) 88 override GNUSTEP_TARGET_DIR = $(GNUSTEP_TARGET_CPU)-$(GNUSTEP_TARGET_OS) 89 override GNUSTEP_TARGET_LDIR = $(GNUSTEP_TARGET_DIR)/$(GNUSTEP_LIB_COMBO) 90 override MAYBE_LIBRARY_COMBO = $(GNUSTEP_LIB_COMBO) 91 override MAKE_CONFIG_DIR = $(GNUSTEP_TARGET_LDIR) 92else 93 override GNUSTEP_TARGET_DIR = . 94 override GNUSTEP_TARGET_LDIR = . 95 override MAYBE_LIBRARY_COMBO = . 96 override MAKE_CONFIG_DIR = . 97endif 98 99export GNUSTEP_TARGET_DIR 100export GNUSTEP_TARGET_LDIR 101export MAYBE_LIBRARY_COMBO 102 103INSTALL = @INSTALL@ 104INSTALL_PROGRAM = @INSTALL_PROGRAM@ 105INSTALL_DATA = @INSTALL_DATA@ 106 107VERTAG = $(subst .,_,$(GNUSTEP_MAKE_VERSION)) 108 109SVNPREFIX=svn+ssh://svn.gna.org/svn/gnustep/tools/make 110 111MAKE_FILES = aggregate.make application.make bundle.make service.make \ 112 common.make empty.make library-combo.make java.make jni.make library.make \ 113 messages.make parallel-subdirectories.make rules.make serial-subdirectories.make \ 114 target.make names.make resource-set.make \ 115 tool.make ctool.make test-library.make \ 116 objc.make test-application.make test-tool.make subproject.make \ 117 palette.make gswapp.make gswbundle.make clibrary.make \ 118 documentation.make java-tool.make framework.make \ 119 native-library.make spec-rules.template \ 120 tar-exclude-list gnustep-make-help 121 122MASTER_MAKE_FILES = \ 123 source-distribution.make rpm.make rules.make \ 124 application.make bundle.make clibrary.make ctool.make \ 125 documentation.make framework.make gswapp.make gswbundle.make \ 126 library.make nsis.make deb.make objc.make java.make java-tool.make palette.make \ 127 parallel-subdirectories.make resource-set.make serial-subdirectories.make \ 128 service.make subproject.make test-application.make \ 129 test-library.make test-tool.make tool.make 130 131INSTANCE_MAKE_FILES = \ 132 rules.make \ 133 application.make bundle.make clibrary.make ctool.make \ 134 documentation.make framework.make gswapp.make gswbundle.make \ 135 library.make objc.make java.make java-tool.make palette.make \ 136 resource-set.make service.make subproject.make test-application.make \ 137 test-library.make test-tool.make tool.make 138 139INSTANCE_SHARED_MAKE_FILES = bundle.make headers.make java.make \ 140 pkgconfig.make stamp-string.make strings.make 141 142INSTANCE_DOC_MAKE_FILES = autogsdoc.make gsdoc.make install_files.make \ 143 javadoc.make latex.make texi.make 144 145TEST_FRAMEWORK_FILES = \ 146 GNUmakefile.in Testing.h ObjectTesting.h README \ 147 example1.m example2.m example3.m example4.m example5.m \ 148 example6.m example7.m example8.m example9.m 149 150# Decide which version of the GNUstep.conf file we are going to 151# install; the standard one, or the strict gnustep-make v2 one ? 152ifeq ($(GNUSTEP_MAKE_STRICT_V2_MODE),yes) 153 GNUSTEP_DOT_CONF_FILE = GNUstep-strict-v2.conf 154else 155 GNUSTEP_DOT_CONF_FILE = GNUstep.conf 156endif 157 158# You can type 'make messages=yes' to see exactly which commands are 159# being executed. Else we only print a summary description. 160ifeq ($(messages),yes) 161 EC = 162else 163 EC = @ 164endif 165 166# To produce a signed Debian source and binary package, 167# call 'make debsign=yes'. 168ifeq ($(debsign),yes) 169 DEBUILD_ARGS = -nc 170else 171 DEBUILD_ARGS = -us -uc -nc 172endif 173 174# Version code that will be used in 'svn-export' target. Expand immediately; 175# it should be constant in the script. 176DATE_TIME_VERSION := $(shell date +%Y%m%d%H%M) 177 178# Revision; potentially expensive so expand when used. 179SVN_REVISION = $(shell svn info . | sed -ne 's/^Revision: //p') 180 181# Used to override version of .tar.gz that will be copied and used as .orig.tar.gz. 182ifeq ($(DEB_TARBALL_VERSION), ) 183DEB_TARBALL_VERSION = $(GNUSTEP_MAKE_VERSION) 184endif 185 186all: generated-files 187 $(EC)(echo "Thanks. All is ready: type '$(MAKE) install' to install gnustep-make.") 188 189install: generated-files 190 $(EC)(echo "Creating system tools directory: $(tooldir)"; \ 191 "$(srcdir)/mkinstalldirs" "$(tooldir)"; \ 192 echo "Creating makefile directories in: $(makedir)"; \ 193 "$(srcdir)/mkinstalldirs" \ 194 "$(makedir)" \ 195 "$(makedir)/$(GNUSTEP_TARGET_DIR)" \ 196 "$(makedir)/$(GNUSTEP_TARGET_LDIR)" \ 197 "$(makedir)/Additional" \ 198 "$(makedir)/Auxiliary" \ 199 "$(makedir)/Master" \ 200 "$(makedir)/Instance" \ 201 "$(makedir)/Instance/Shared" \ 202 "$(makedir)/Instance/Documentation" \ 203 "$(testdir)") 204 $(EC)(echo "Installing GNUstep configuration file in $(GNUSTEP_CONFIG_FILE)"; \ 205 "$(srcdir)/mkinstalldirs" "$(GNUSTEP_CONFIG_FILE_DIR)"; \ 206 $(INSTALL_DATA) $(GNUSTEP_DOT_CONF_FILE) "$(GNUSTEP_CONFIG_FILE)") 207 $(EC)(echo "Installing gnustep-make support software") 208 $(EC)(for f in config.guess config.sub install-sh mkinstalldirs \ 209 clean_cpu.sh clean_os.sh \ 210 clean_vendor.sh cpu.sh os.sh vendor.sh \ 211 print_unique_pathlist.sh \ 212 relative_path.sh strip_makefiles.sh; do \ 213 $(INSTALL_PROGRAM) -m 755 "$(srcdir)/$$f" "$(makedir)"; \ 214 done) 215 $(EC)($(INSTALL_DATA) GNUstep.sh "$(makedir)"; \ 216 $(INSTALL_DATA) GNUstep.csh "$(makedir)"; \ 217 $(INSTALL_DATA) filesystem.sh "$(makedir)"; \ 218 $(INSTALL_DATA) filesystem.csh "$(makedir)"; \ 219 $(INSTALL_DATA) "$(srcdir)/GNUstep-reset.sh" "$(makedir)"; \ 220 $(INSTALL_PROGRAM) -m 755 fixpath.sh "$(makedir)"; \ 221 $(INSTALL_PROGRAM) -m 755 openapp "$(tooldir)"; \ 222 $(INSTALL_PROGRAM) -m 755 "$(srcdir)/debugapp" "$(tooldir)"; \ 223 $(INSTALL_PROGRAM) -m 755 opentool "$(tooldir)"; \ 224 $(INSTALL_PROGRAM) -m 755 gnustep-config "$(tooldir)") 225 $(EC)(echo "Installing makefiles"; \ 226 for f in $(MAKE_FILES); do \ 227 $(INSTALL_DATA) "$(srcdir)/$$f" "$(makedir)"; \ 228 done; \ 229 for f in $(MASTER_MAKE_FILES); do \ 230 $(INSTALL_DATA) "$(srcdir)/Master/$$f" "$(makedir)/Master"; \ 231 done; \ 232 for f in $(INSTANCE_MAKE_FILES); do \ 233 $(INSTALL_DATA) "$(srcdir)/Instance/$$f" "$(makedir)/Instance"; \ 234 done; \ 235 for f in $(INSTANCE_SHARED_MAKE_FILES); do \ 236 $(INSTALL_DATA) "$(srcdir)/Instance/Shared/$$f" \ 237 "$(makedir)/Instance/Shared"; \ 238 done; \ 239 for f in $(INSTANCE_DOC_MAKE_FILES); do \ 240 $(INSTALL_DATA) "$(srcdir)/Instance/Documentation/$$f" \ 241 "$(makedir)/Instance/Documentation"; \ 242 done; \ 243 $(INSTALL_PROGRAM) -m 755 "$(srcdir)/app-wrapper.template" "$(makedir)"; \ 244 $(INSTALL_PROGRAM) -m 755 "$(srcdir)/java-executable.template" "$(makedir)"; \ 245 $(INSTALL_PROGRAM) -m 755 executable.template "$(makedir)"; \ 246 $(INSTALL_DATA) "$(srcdir)/nsi-app.template" "$(makedir)"; \ 247 $(INSTALL_DATA) -m 755 "$(srcdir)/bake_debian_files.sh" "$(makedir)"; \ 248 $(INSTALL_DATA) config-noarch.make "$(makedir)"; \ 249 $(INSTALL_DATA) filesystem.make "$(makedir)"; \ 250 $(INSTALL_DATA) config.make "$(makedir)/$(MAKE_CONFIG_DIR)") 251 $(EC)(echo "Installing Test Framework scripts"; \ 252 $(INSTALL_PROGRAM) -m 755 TestFramework/gnustep-tests "$(tooldir)"; \ 253 $(INSTALL_PROGRAM) -m 755 $(srcdir)/TestFramework/Summary.sh "$(testdir)") 254 $(EC)(echo "Installing Test Framework support files"; \ 255 for f in $(TEST_FRAMEWORK_FILES); do \ 256 $(INSTALL_DATA) "$(srcdir)/TestFramework/$$f" "$(testdir)"; \ 257 done) 258 $(EC)(echo "Installing (and compressing) manpages"; \ 259 "$(srcdir)/mkinstalldirs" "$(mandir)/man1" \ 260 "$(mandir)/man7"; \ 261 $(INSTALL_DATA) "$(srcdir)/Documentation/debugapp.1" "$(mandir)/man1"; \ 262 which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man1/debugapp.1.gz" && gzip -9 -n "$(mandir)/man1/debugapp.1"; \ 263 $(INSTALL_DATA) "$(srcdir)/Documentation/gnustep-config.1" "$(mandir)/man1"; \ 264 which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man1/gnustep-config.1.gz" && gzip -9 -n "$(mandir)/man1/gnustep-config.1"; \ 265 $(INSTALL_DATA) "$(srcdir)/Documentation/gnustep-tests.1" "$(mandir)/man1"; \ 266 which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man1/gnustep-tests.1.gz" && gzip -9 -n "$(mandir)/man1/gnustep-tests.1"; \ 267 $(INSTALL_DATA) "$(srcdir)/Documentation/openapp.1" "$(mandir)/man1"; \ 268 which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man1/openapp.1.gz" && gzip -9 -n "$(mandir)/man1/openapp.1"; \ 269 $(INSTALL_DATA) "$(srcdir)/Documentation/opentool.1" "$(mandir)/man1"; \ 270 which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man1/opentool.1.gz" && gzip -9 -n "$(mandir)/man1/opentool.1"; \ 271 $(INSTALL_DATA) "$(srcdir)/Documentation/GNUstep.7" "$(mandir)/man7"; \ 272 which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man7/GNUstep.7.gz" && gzip -9 -n "$(mandir)/man7/GNUstep.7"; \ 273 $(INSTALL_DATA) "$(srcdir)/Documentation/library-combo.7" "$(mandir)/man7"; \ 274 which gzip > /dev/null 2>&1 && rm -f "$(mandir)/man7/library-combo.7.gz" && gzip -9 -n "$(mandir)/man7/library-combo.7") 275 $(EC)(if [ "@GNUSTEP_STRIP_MAKEFILES@" = "strip" ]; then \ 276 echo "Stripping makefiles and shell scripts..."; \ 277 cd "$(makedir)"; ./strip_makefiles.sh; \ 278 fi) 279 $(EC)(if [ "@GNUSTEP_INSTALL_LD_SO_CONF@" = "yes" ] ; then \ 280 echo "Installing ld.so.conf.d/gnustep-make.conf due to custom prefix..."; \ 281 "$(srcdir)/mkinstalldirs" $(DESTDIR)/etc/ld.so.conf.d ; \ 282 $(INSTALL_DATA) gnustep-make-ld.so.conf "$(DESTDIR)/etc/ld.so.conf.d/gnustep-make.conf"; \ 283 \ 284 fi) 285 286uninstall: 287 rm -f "$(mandir)/man1/debugapp.1" "$(mandir)/man1/debugapp.1.gz"; \ 288 rm -f "$(mandir)/man1/gnustep-config.1" "$(mandir)/man1/gnustep-config.1.gz"; \ 289 rm -f "$(mandir)/man1/gnustep-tests.1" "$(mandir)/man1/gnustep-tests.1.gz"; \ 290 rm -f "$(mandir)/man1/openapp.1" "$(mandir)/man1/openapp.1.gz"; \ 291 rm -f "$(mandir)/man1/opentool.1" "$(mandir)/man1/opentool.1.gz"; \ 292 rm -f "$(mandir)/man7/GNUstep.7" "$(mandir)/man7/GNUstep.7.gz"; \ 293 rm -f "$(mandir)/man7/library-combo.7" "$(mandir)/man7/library-combo.7.gz" 294 -rmdir "$(mandir)/man1" 295 -rmdir "$(mandir)/man7" 296 -rmdir "$(mandir)" 297 for f in config.guess config.sub install-sh mkinstalldirs \ 298 clean_cpu.sh clean_os.sh \ 299 clean_vendor.sh cpu.sh os.sh vendor.sh \ 300 print_unique_pathlist.sh fixpath.sh \ 301 filesystem.sh filesystem.csh \ 302 GNUstep.sh GNUstep.csh GNUstep-reset.sh \ 303 relative_path.sh strip_makefiles.sh; do \ 304 rm -f "$(makedir)/$$f"; \ 305 done 306 rm -f "$(tooldir)/openapp"; \ 307 rm -f "$(tooldir)/debugapp"; \ 308 rm -f "$(tooldir)/opentool"; \ 309 rm -f "$(tooldir)/gnustep-config"; \ 310 rm -f "$(tooldir)/gnustep-tests"; \ 311 rm -f "$(testdir)/Summary.sh"; \ 312 for f in $(MAKE_FILES); do \ 313 rm -f "$(makedir)/$$f"; \ 314 done 315 for f in $(MASTER_MAKE_FILES); do \ 316 rm -f "$(makedir)/Master/$$f"; \ 317 done 318 for f in $(INSTANCE_MAKE_FILES); do \ 319 rm -f "$(makedir)/Instance/$$f"; \ 320 done 321 for f in $(INSTANCE_SHARED_MAKE_FILES); do \ 322 rm -f "$(makedir)/Instance/Shared/$$f"; \ 323 done 324 for f in $(INSTANCE_DOC_MAKE_FILES); do \ 325 rm -f "$(makedir)/Instance/Documentation/$$f"; \ 326 done 327 for f in $(TEST_FRAMEWORK_FILES); do \ 328 rm -f "$(testdir)/$$f"; \ 329 done 330 rm -f "$(makedir)/executable.template" 331 rm -f "$(makedir)/app-wrapper.template" 332 rm -f "$(makedir)/java-executable.template" 333 rm -f "$(makedir)/nsi-app.template" 334 rm -f "$(makedir)/bake_debian_files.sh" 335 rm -f "$(makedir)/config-noarch.make" 336 rm -f "$(makedir)/filesystem.make" 337 rm -f "$(makedir)/$(MAKE_CONFIG_DIR)/config.make" 338 rm -f "$(GNUSTEP_CONFIG_FILE)" 339 -rmdir "$(GNUSTEP_CONFIG_FILE_DIR)" 340 -rmdir "$(testdir)" 341 -rmdir "$(makedir)/Instance/Documentation" 342 -rmdir "$(makedir)/Instance/Shared" 343 -rmdir "$(makedir)/Instance" 344 -rmdir "$(makedir)/Master" 345 -rmdir "$(makedir)/Auxiliary" 346 -rmdir "$(makedir)/Additional" 347 -rmdir "$(makedir)/$(GNUSTEP_TARGET_LDIR)" 348 -rmdir "$(makedir)/$(GNUSTEP_TARGET_DIR)" 349 -rmdir "$(makedir)/$(GNUSTEP_TARGET_CPU)" 350 -rmdir "$(makedir)/$(GNUSTEP_LIB_COMBO)" 351 -rmdir "$(makedir)" 352 -rmdir "$(tooldir)" 353 354clean: 355 (cd Documentation; $(MAKE) distclean) 356 rm -f *~ Master/*~ Instance/*~ Instance/Shared/*~ 357 358distclean: clean 359 (cd Documentation; $(MAKE) distclean) 360 rm -f GNUmakefile config-noarch.make config.make config.h 361 rm -f config.cache config.log config.status 362 rm -f openapp opentool executable.template 363 rm -f GNUstep.sh GNUstep.csh fixpath.sh gnustep-config 364 rm -f filesystem.make filesystem.sh filesystem.csh 365 rm -f gnustep-make.spec GNUstep.conf GNUstep-strict-v2.conf 366 rm -f config-precomp-test.out config-precomp-test.h.gch config-precomp-test.log 367 rm -f debian_dist/ 368 369docs: 370 (cd Documentation; $(MAKE)) 371 372install-docs: 373 (cd Documentation; $(MAKE) install) 374 375install-all: install install-docs 376 377svn-tag: 378 svn copy $(SVNPREFIX)/trunk $(SVNPREFIX)/tags/make-$(VERTAG) \ 379 -m "Tag version $(VERTAG)" 380 381svn-tag-stable: 382 svn copy $(SVNPREFIX)/branches/stable $(SVNPREFIX)/tags/make-$(VERTAG) \ 383 -m "Tag version $(VERTAG)" 384 385svn-dist: 386 svn export $(SVNPREFIX)/tags/make-$(VERTAG) \ 387 gnustep-make-$(GNUSTEP_MAKE_VERSION) 388 tar --gzip -cf gnustep-make-$(GNUSTEP_MAKE_VERSION).tar.gz gnustep-make-$(GNUSTEP_MAKE_VERSION) 389 rm -rf gnustep-make-$(GNUSTEP_MAKE_VERSION) 390 391svn-snapshot: 392 svn export $(SVNPREFIX)/trunk \ 393 gnustep-make-$(GNUSTEP_MAKE_VERSION)~svn$(SVN_REVISION) 394 tar --gzip -cf gnustep-make-$(GNUSTEP_MAKE_VERSION)~svn$(SVN_REVISION).tar.gz gnustep-make-$(GNUSTEP_MAKE_VERSION)~svn$(SVN_REVISION) 395 echo $(GNUSTEP_MAKE_VERSION)~svn$(SVN_REVISION) > svn-snapshot-tarball-version 396 rm -rf gnustep-make-$(GNUSTEP_MAKE_VERSION)~svn$(SVN_REVISION) 397 398svn-export: 399 @echo Note: any local changes are included. 400 svn export . \ 401 gnustep-make-$(GNUSTEP_MAKE_VERSION)~svn$(SVN_REVISION)~date$(DATE_TIME_VERSION) 402 tar --gzip -cf gnustep-make-$(GNUSTEP_MAKE_VERSION)~svn$(SVN_REVISION)~date$(DATE_TIME_VERSION).tar.gz gnustep-make-$(GNUSTEP_MAKE_VERSION)~svn$(SVN_REVISION)~date$(DATE_TIME_VERSION) 403 echo $(GNUSTEP_MAKE_VERSION)~svn$(SVN_REVISION)~date$(DATE_TIME_VERSION) > svn-export-tarball-version 404 rm -rf gnustep-make-$(GNUSTEP_MAKE_VERSION)~svn$(SVN_REVISION)~date$(DATE_TIME_VERSION) 405 406cvs-tag: 407 cvs -z3 rtag make-$(VERTAG) make 408 409cvs-dist: 410 cvs -z3 export -r make-$(VERTAG) make 411 mv make gnustep-make-$(GNUSTEP_MAKE_VERSION) 412 tar --gzip -cf gnustep-make-$(GNUSTEP_MAKE_VERSION).tar.gz gnustep-make-$(GNUSTEP_MAKE_VERSION) 413 rm -rf gnustep-make-$(GNUSTEP_MAKE_VERSION) 414 415cvs-snapshot: 416 cvs -z3 export -D now make 417 mv make gnustep-make-$(GNUSTEP_MAKE_VERSION) 418 tar --gzip -cf gnustep-make-$(GNUSTEP_MAKE_VERSION).tar.gz gnustep-make-$(GNUSTEP_MAKE_VERSION) 419 rm -rf gnustep-make-$(GNUSTEP_MAKE_VERSION) 420 421ifeq ($(GIT_TAG_SIGN), ) 422GIT_TAG_ANNOTATION_FLAGS = -a 423else 424 ifeq ($(GIT_TAG_SIGN), yes) 425 GIT_TAG_ANNOTATION_FLAGS = -s 426 else 427 GIT_TAG_ANNOTATION_FLAGS = -u $(GIT_TAG_SIGN) 428 endif 429endif 430 431git-tag-stable: 432 echo "*Error* tagging stable branch in Git is not supported at this time." && exit 1 433 434ifeq ($(GIT_TAG_ANNOUNCE_FILE),) 435git-tag: 436 git tag \ 437 $(GIT_TAG_ANNOTATION_FLAGS) \ 438 make-$(VERTAG) \ 439 -m "Release $(GNUSTEP_MAKE_VERSION)." 440else 441ifneq ($(GIT_TAG_ANNOUNCE_OMIT_PREFACE),yes) 442.INTERMEDIATE += git-tag-announce-file_$(GNUSTEP_MAKE_VERSION).tmp 443git-tag-announce-file_$(GNUSTEP_MAKE_VERSION).tmp: $(GIT_TAG_ANNOUNCE_FILE) 444 printf "Release $(GNUSTEP_MAKE_VERSION).\n\n" > $@ 445 cat $(GIT_TAG_ANNOUNCE_FILE) >> $@ 446 447git-tag: git-tag-announce-file_$(GNUSTEP_MAKE_VERSION).tmp 448 git tag \ 449 $(GIT_TAG_ANNOTATION_FLAGS) \ 450 make-$(VERTAG) \ 451 -F $< 452else 453git-tag: 454 git tag \ 455 $(GIT_TAG_ANNOTATION_FLAGS) \ 456 make-$(VERTAG) \ 457 -F $(GIT_TAG_ANNOUNCE_FILE) 458endif 459endif 460 461git-dist: 462 git archive --format=tar.gz make-$(VERTAG) -o gnustep-make-$(GNUSTEP_MAKE_VERSION).tar.gz --prefix=gnustep-make-$(GNUSTEP_MAKE_VERSION)/ 463 464hg-tag: 465 hg tag -m "Release $(PACKAGE_VERSION)" make-$(VERTAG) 466 467hg-dist: 468 hg archive -r make-$(VERTAG) -p gnustep-make-$(GNUSTEP_MAKE_VERSION)/ \ 469 gnustep-make-$(GNUSTEP_MAKE_VERSION).tar.gz 470 471test-RPM_TOPDIR: 472 @(if [ -z "$(RPM_TOPDIR)" ]; then \ 473 echo "Error - RPM_TOPDIR variable not set."; \ 474 echo "You need to set it to the top of your rpm directory tree"; \ 475 exit 1; \ 476 fi) 477 478# The check for rpmbuild is for old RPM versions which didn't have 479# rpmbuild and used 'rpm -ba' instead. It can be removed when we are 480# reasonably sure no more old RPM versions (not having rpmbuild), are 481# still around. 482rpm: test-RPM_TOPDIR svn-dist 483 cp gnustep-make-$(GNUSTEP_MAKE_VERSION).tar.gz $(RPM_TOPDIR)/SOURCES/ 484 cp gnustep-make.spec $(RPM_TOPDIR)/SPECS/ 485 cd $(RPM_TOPDIR)/SPECS/ 486 if which rpmbuild > /dev/null 2>/dev/null; then \ 487 rpmbuild="rpmbuild"; \ 488 else \ 489 if which rpm > /dev/null 2>/dev/null; then \ 490 rpmbuild="rpm"; \ 491 else \ 492 echo "Error: You don't have rpm installed!"; \ 493 rpmbuild="rpmbuild"; \ 494 fi; \ 495 fi; \ 496 $${rpmbuild} -ba gnustep-make.spec 497 498debclean: 499 -rm -rf debian_dist 500 501deb: debian_dist/gnustep-make_$(DEB_TARBALL_VERSION)_any.deb 502 503debian_dist/gnustep-make_$(DEB_TARBALL_VERSION)_any.deb: 504 $(EC)(if [ ! -e "debian_dist/gnustep-make-$(DEB_TARBALL_VERSION)/debian/control" ] ; then \ 505 echo "Please manually run 'make debfiles' first." ; \ 506 echo "Intentionally not automatically depending to ease customization between steps." ; \ 507 fi) 508 cd debian_dist/gnustep-make-$(DEB_TARBALL_VERSION)/ && EDITOR=/bin/true dpkg-source --commit -q . gnustep-make-automatic 509 cd debian_dist/gnustep-make-$(DEB_TARBALL_VERSION)/ && debuild $(DEBUILD_ARGS) -S 510 cd debian_dist/gnustep-make-$(DEB_TARBALL_VERSION)/ && debuild $(DEBUILD_ARGS) -b 511 512debfiles: debian_dist/gnustep-make_$(DEB_TARBALL_VERSION).orig.tar.gz 513 cd debian_dist && tar xfz gnustep-make_$(DEB_TARBALL_VERSION).orig.tar.gz 514 PACKAGE_NAME="gnustep-make" VERSION=$(DEB_TARBALL_VERSION) DEB_MAINTAINER="GNUstep Developers <gnustep-dev@gnu.org>" DEB_ARCHITECTURE=any /bin/bash bake_debian_files.sh debian_dist/gnustep-make-$(DEB_TARBALL_VERSION)/ 515 516# Manual export is required to permit user to override .orig.tar.gz during the build process. 517# We also allow user to make a choice of where to grab .orig.tar.gz from. 518debian_dist/gnustep-make_$(DEB_TARBALL_VERSION).orig.tar.gz: 519 $(EC)(if [ ! -e gnustep-make-$(DEB_TARBALL_VERSION).tar.gz ] ; then \ 520 echo "Please manually create gnustep-make-$(DEB_TARBALL_VERSION).tar.gz." ; \ 521 echo "Some available make targets:" ; \ 522 echo " * svn-dist" ; \ 523 echo " * svn-snapshot" ; \ 524 echo " * svn-export" ; \ 525 fi) 526 527 mkdir -p debian_dist 528 cp gnustep-make-$(DEB_TARBALL_VERSION).tar.gz debian_dist/gnustep-make_$(DEB_TARBALL_VERSION).orig.tar.gz 529 530generated-files: GNUmakefile GNUstep.sh GNUstep.csh fixpath.sh config-noarch.make config.make \ 531 openapp opentool gnustep-make.spec executable.template gnustep-config \ 532 filesystem.make filesystem.sh filesystem.csh GNUstep.conf GNUstep-strict-v2.conf \ 533 gnustep-make-ld.so.conf 534 535GNUmakefile: GNUmakefile.in config.status 536 $(SHELL) config.status 537 538GNUstep.sh: GNUstep.sh.in 539 $(SHELL) config.status 540 541GNUstep.csh: GNUstep.csh.in 542 $(SHELL) config.status 543 544GNUstep.conf: GNUstep.conf.in 545 $(SHELL) config.status 546 547GNUstep-strict-v2.conf: GNUstep-strict-v2.conf.in 548 $(SHELL) config.status 549 550fixpath.sh: fixpath.sh.in 551 $(SHELL) config.status 552 553filesystem.make: filesystem.make.in 554 $(SHELL) config.status 555 556filesystem.sh: filesystem.sh.in 557 $(SHELL) config.status 558 559filesystem.csh: filesystem.csh.in 560 $(SHELL) config.status 561 562config-noarch.make: config-noarch.make.in Version 563 $(SHELL) config.status --recheck 564 565config.make: config.make.in 566 $(SHELL) config.status --recheck 567 568openapp: openapp.in 569 $(SHELL) config.status 570 571opentool: opentool.in 572 $(SHELL) config.status 573 574gnustep-make.spec: gnustep-make.spec.in Version 575 $(SHELL) config.status --recheck 576 577executable.template: executable.template.in 578 $(SHELL) config.status 579 580gnustep-config: gnustep-config.in 581 $(SHELL) config.status 582 583gnustep-make-ld.so.conf: gnustep-make-ld.so.conf.in 584 $(SHELL) config.status 585 586