#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