| # Makefile for creating Basilisk II distributions |
| # Written in 2002 by Christian Bauer <Christian.Bauer@uni-mainz.de> |
| |
| VERSION := $(shell sed <BasiliskII.spec -n '/^\%define version */s///p') |
| RELEASE := $(shell sed <BasiliskII.spec -n '/^\%define release */s///p') |
| VERNAME := BasiliskII-$(VERSION) |
| |
| SRCARCHIVE := $(shell date +BasiliskII_src_%d%m%Y.tar.gz) |
| AMIGAARCHIVE := $(VERNAME)-$(RELEASE).amiga.lzh |
| BEOSPPCARCHIVE := $(VERNAME)-$(RELEASE).beosppc.zip |
| BEOSX86ARCHIVE := $(VERNAME)-$(RELEASE).beosx86.zip |
| MACOSXARCHIVE := $(VERNAME)-$(RELEASE).tar.gz |
| |
| TMPDIR := $(shell date +/tmp/build%M%S) |
| ISODATE := $(shell date "+%Y-%m-%d %H:%M") |
| DOCS := $(shell sed <BasiliskII.spec -n '/^\%doc */s///p') |
| SRCS := src |
| |
| default: |
| @echo "This top-level Makefile is for creating Basilisk II distributions." |
| @echo "If you want to install Basilisk II V$(VERSION) on your system, please follow" |
| @echo "the instructions in the file INSTALL." |
| @echo "If you want to create a Basilisk II V$(VERSION) distribution, type \"make help\"" |
| @echo "to get a list of possible targets." |
| |
| help: |
| @echo "The following targets are available:" |
| @echo " tarball source tarball ($(SRCARCHIVE))" |
| @echo " rpm source and binary RPMs" |
| @echo " amiga AmigaOS binary archive ($(AMIGAARCHIVE))" |
| @echo " beosppc BeOS/ppc binary archive ($(BEOSPPCARCHIVE))" |
| @echo " beosx86 BeOS/x86 binary archive ($(BEOSX86ARCHIVE))" |
| @echo " macosx MacOS X binary archive ($(MACOSXARCHIVE))" |
| |
| clean: |
| -rm -f $(SRCARCHIVE) |
| -rm -f $(AMIGAARCHIVE) $(BEOSPPCARCHIVE) $(BEOSX86ARCHIVE) |
| |
| # |
| # Source tarball |
| # |
| tarball: $(SRCARCHIVE) |
| |
| $(SRCARCHIVE): $(SRCS) $(DOCS) |
| -rm -rf $(TMPDIR) |
| mkdir $(TMPDIR) |
| cd $(TMPDIR); cvs export -D "$(ISODATE)" BasiliskII |
| cd $(TMPDIR)/BasiliskII/src/Unix && NO_CONFIGURE=1 ./autogen.sh |
| cd $(TMPDIR)/BasiliskII/src/Windows && NO_CONFIGURE=1 ../Unix/autogen.sh |
| rm $(TMPDIR)/BasiliskII/Makefile |
| mv $(TMPDIR)/BasiliskII $(TMPDIR)/$(VERNAME) |
| cd $(TMPDIR); tar cfz $@ $(VERNAME) |
| mv $(TMPDIR)/$@ . |
| rm -rf $(TMPDIR) |
| |
| # |
| # RPMs (source and binary) |
| # |
| rpm: $(SRCARCHIVE) |
| rpmbuild -ta --clean $(SRCARCHIVE) |
| |
| # |
| # Binary archive for AmigaOS |
| # |
| amiga: $(AMIGAARCHIVE) |
| |
| $(AMIGAARCHIVE): $(SRCS) $(DOCS) src/AmigaOS/BasiliskII |
| -rm -rf $(TMPDIR) |
| mkdir $(TMPDIR) |
| mkdir $(TMPDIR)/$(VERNAME) |
| cp $(DOCS) $(TMPDIR)/$(VERNAME) |
| cp src/AmigaOS/BasiliskII $(TMPDIR)/$(VERNAME) |
| cp src/AmigaOS/BasiliskII.info $(TMPDIR)/$(VERNAME) |
| chmod 775 $(TMPDIR)/$(VERNAME)/BasiliskII |
| cd $(TMPDIR); lha a $@ $(VERNAME) |
| mv $(TMPDIR)/$@ . |
| rm -rf $(TMPDIR) |
| |
| # |
| # Binary archive for BeOS/ppc |
| # |
| beosppc: $(BEOSPPCARCHIVE) |
| |
| $(BEOSPPCARCHIVE): $(SRCS) $(DOCS) src/BeOS/obj.ppc/BasiliskII |
| -rm -rf $(TMPDIR) |
| mkdir $(TMPDIR) |
| mkdir $(TMPDIR)/$(VERNAME) |
| cp $(DOCS) $(TMPDIR)/$(VERNAME) |
| cp src/BeOS/obj.ppc/BasiliskII $(TMPDIR)/$(VERNAME) |
| mimeset -f $(TMPDIR) |
| cd $(TMPDIR); zip -ry $@ $(VERNAME)/ |
| mv $(TMPDIR)/$@ . |
| rm -rf $(TMPDIR) |
| |
| # |
| # Binary archive for BeOS/x86 |
| # |
| beosx86: $(BEOSX86ARCHIVE) |
| |
| $(BEOSX86ARCHIVE): $(SRCS) $(DOCS) src/BeOS/obj.x86/BasiliskII |
| -rm -rf $(TMPDIR) |
| mkdir $(TMPDIR) |
| mkdir $(TMPDIR)/$(VERNAME) |
| cp $(DOCS) $(TMPDIR)/$(VERNAME) |
| cp src/BeOS/obj.x86/BasiliskII $(TMPDIR)/$(VERNAME) |
| mimeset -f $(TMPDIR) |
| cd $(TMPDIR); zip -ry $@ $(VERNAME)/ |
| mv $(TMPDIR)/$@ . |
| rm -rf $(TMPDIR) |
| |
| # |
| # Binary archive for MacOS X |
| # |
| macosx: $(MACOSXARCHIVE) |
| |
| $(MACOSXARCHIVE): $(SRCS) $(DOCS) src/MacOSX/build/BasiliskII.app |
| -rm -rf $(TMPDIR) |
| mkdir $(TMPDIR) |
| mkdir $(TMPDIR)/$(VERNAME) |
| cp $(DOCS) $(TMPDIR)/$(VERNAME) |
| cp -pr src/MacOSX/build/BasiliskII.app $(TMPDIR)/$(VERNAME) |
| cd $(TMPDIR); tar -czvf $@ $(VERNAME)/ |
| mv $(TMPDIR)/$@ . |
| rm -rf $(TMPDIR) |