File:  [gforth] / gforth / Makedist.in
Revision 1.37: download - view: text, annotated - select for diffs
Mon Dec 31 15:25:17 2012 UTC (4 years, 11 months ago) by anton
Branches: MAIN
CVS tags: HEAD
updated copyright year

#make dist targets (workaround for broken makes)
#use GNU make if your make does not grok this.

#Copyright (C) 1995,1996,1997,1998,2000,2003,2006,2007,2008,2010,2011,2012 Free Software Foundation, Inc.

#This file is part of Gforth.

#Gforth 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.

#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.#See the
#GNU General Public License for more details.

#You should have received a copy of the GNU General Public License
#along with this program. If not, see http://www.gnu.org/licenses/.

include Makefile

#!! redundancy with engine/Makefile.in
DOBJECTS=engine/*.o

#stuff in a binonly distribution 
BINONLYDIST = config.status Makefile Makedist \
	$(ENGINES) $(ENGINES_FAST) \
	$(DOBJECTS) engine/config.h engine/Makefile \
	$(wildcard engine/gforth*$(EXE)) \
	stamp-h kernel/version.fs envos.fs build-ec INSTALL.BINDIST

#use dist targets only when srcdir=.
ddist:		$(SOURCES) $(FORTH_GEN0) @KERNEL@ $(DOCDIST)
		-$(RMTREE) gforth-$(VERSION)
		mkdir gforth-$(VERSION)
		$(TAR) $(SOURCES) $(FORTH_GEN0) @KERNEL@ $(DOCDIST) | \
			(cd gforth-$(VERSION); tar xf -)
		$(TAR) gforth-$(VERSION)|gzip -9 >gforth-$(VERSION).tar.gz
		-$(RMTREE) gforth-$(VERSION)

#use dist targets only when srcdir=.
ddosdist:	$(SOURCES) $(FORTH_GEN0) @KERNEL@ $(DOCDIST)
		-$(RMTREE) gforth.$(DOSVERSION)
		mkdir gforth.$(DOSVERSION)
		$(TAR) $(SOURCES) $(FORTH_GEN0) @KERNEL@ $(DOCDIST) | \
			(cd gforth.$(DOSVERSION); tar xf -)
		$(MV) gforth.$(DOSVERSION)/engine/strsignal.c gforth.$(DOSVERSION)/engine/strsig.c
		for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14; do \
			$(MV) gforth.$(DOSVERSION)/doc/gforth.info-$$i gforth.$(DOSVERSION)/doc/gforth.i$$i; \
		done
		zip -r9 gf$(DOSVERSION)dos.zip gforth.$(DOSVERSION)/*
		-$(RMTREE) gforth.$(DOSVERSION)

#A source distribution contains only the things needed to install gforth,
#without the documents.
dsrcdist:	$(SOURCES) $(FORTH_GEN0) @KERNEL@
		-$(RMTREE) gforth-$(VERSION)
		mkdir gforth-$(VERSION)
		$(TAR) $(SOURCES) $(FORTH_GEN0) @KERNEL@ | \
			(cd gforth-$(VERSION); tar xf -)
		$(TAR) gforth-$(VERSION)|gzip -9 >gforth-src-$(VERSION).tar.gz
		-$(RMTREE) gforth-$(VERSION)

dsrconlydist:	$(SOURCES)
		-$(RMTREE) gforth-$(VERSION)
		mkdir gforth-$(VERSION)
		$(TAR) $(SOURCES) | \
			(cd gforth-$(VERSION); tar xf -)
		$(TAR) gforth-$(VERSION)|gzip -9 >gforth-srconly-$(VERSION).tar.gz
		-$(RMTREE) gforth-$(VERSION)

#A document distribution contains only the documents, which can be created
#with MAKE.
ddocdist:	$(DOCDIST)
		-$(RMTREE) gforth-$(VERSION)
		mkdir gforth-$(VERSION)
		$(TAR) $(DOCDIST) | (cd gforth-$(VERSION); tar xf -)
		$(TAR) gforth-$(VERSION)|gzip -9 >gforth-doc-$(VERSION).tar.gz
		-$(RMTREE) gforth-$(VERSION)

dhtmldist:	html
		$(TAR) html|gzip -9 >gforth-html-$(VERSION).tar.gz

#a binary distribution contains the complete source distribution,
# the objects, the executable and the links. the objects are there for making
# make happy.
dbindist:	$(SOURCES) $(FORTH_GEN0) @KERNEL@ $(DOCDIST) $(BINONLYDIST)
		-$(RMTREE) gforth-$(VERSION)
		mkdir gforth-$(VERSION)
		$(TAR) $(SOURCES) $(FORTH_GEN0) @KERNEL@ $(DOCDIST) $(BINONLYDIST) | (cd gforth-$(VERSION); tar xf -)
		-$(STRIP) gforth-$(VERSION){,/engine}/gforth*$(EXE)
		$(TAR) gforth-$(VERSION)|gzip -9 >gforth-$(VERSION).bin.@host@.tar.gz

#All file names in a binary distribution
distfiles:
		@echo $(SOURCES) $(PRECISE) machpc.fs $(FORTH_GEN0) compat/strcomp.fs gforthmi @KERNEL@ $(DOCDIST) $(BINONLYDIST)

#makes a package with only the stuff not present in the source
#package. For installation the source package is still needed!
#This is useful if you want to distribute many binary versions in
#little space (e.g., on floppy disk): Put the source package and
#all the binonly packages you are interested in on the disk. The user
#then just has to unpack the source and his favourite binonly into the
#same directory and has a full binary distribution.
dbinonlydist:	$(SOURCES) $(FORTH_GEN0) @KERNEL@ $(DOCDIST) $(BINONLYDIST)
		-$(RMTREE) gforth-$(VERSION)
		mkdir gforth-$(VERSION)
		$(TAR) $(BINONLYDIST) | (cd gforth-$(VERSION); tar xf -)
		$(STRIP) gforth-$(VERSION)/gforth$(EXE)
		$(TAR) gforth-$(VERSION)|gzip -9 >gforth-$(VERSION).binonly.@host@.tar.gz

dsetup-debdist:	$(SOURCES) $(FORTH_GEN0) @KERNEL@ $(DOCDIST) $(BINONLYDIST) debian.control
		-rm -rf debian
		mkdir debian
		make package=$$PWD/debian install

ddebdist:	dsetup-debdist
		mkdir debian/DEBIAN
		(cd debian; find . -name '*' -exec md5sum '{}' ';') >debian/DEBIAN/md5sums	
		cp debian.control debian/DEBIAN/control
		dpkg-deb --build debian
		mv debian.deb gforth_$(VERSION)_@host_cpu@.deb
		rm -rf md5sums debian

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