ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/Makefile
Revision: 1.20
Committed: 2005-06-30T21:27:26Z (18 years, 9 months ago) by cebix
Branch: MAIN
CVS Tags: nigel-build-19, nigel-build-17, HEAD
Changes since 1.19: +1 -1 lines
Log Message:
modernized spec file and makefile

File Contents

# Content
1 # Makefile for creating Basilisk II distributions
2 # Written in 2002 by Christian Bauer <Christian.Bauer@uni-mainz.de>
3
4 VERSION := $(shell sed <BasiliskII.spec -n '/^\%define version */s///p')
5 RELEASE := $(shell sed <BasiliskII.spec -n '/^\%define release */s///p')
6 VERNAME := BasiliskII-$(VERSION)
7
8 SRCARCHIVE := $(shell date +BasiliskII_src_%d%m%Y.tar.gz)
9 AMIGAARCHIVE := $(VERNAME)-$(RELEASE).amiga.lzh
10 BEOSPPCARCHIVE := $(VERNAME)-$(RELEASE).beosppc.zip
11 BEOSX86ARCHIVE := $(VERNAME)-$(RELEASE).beosx86.zip
12 MACOSXARCHIVE := $(VERNAME)-$(RELEASE).tar.gz
13
14 TMPDIR := $(shell date +/tmp/build%M%S)
15 ISODATE := $(shell date "+%Y-%m-%d %H:%M")
16 DOCS := $(shell sed <BasiliskII.spec -n '/^\%doc */s///p')
17 SRCS := src
18
19 default:
20 @echo "This top-level Makefile is for creating Basilisk II distributions."
21 @echo "If you want to install Basilisk II V$(VERSION) on your system, please follow"
22 @echo "the instructions in the file INSTALL."
23 @echo "If you want to create a Basilisk II V$(VERSION) distribution, type \"make help\""
24 @echo "to get a list of possible targets."
25
26 help:
27 @echo "The following targets are available:"
28 @echo " tarball source tarball ($(SRCARCHIVE))"
29 @echo " rpm source and binary RPMs"
30 @echo " amiga AmigaOS binary archive ($(AMIGAARCHIVE))"
31 @echo " beosppc BeOS/ppc binary archive ($(BEOSPPCARCHIVE))"
32 @echo " beosx86 BeOS/x86 binary archive ($(BEOSX86ARCHIVE))"
33 @echo " macosx MacOS X binary archive ($(MACOSXARCHIVE))"
34
35 clean:
36 -rm -f $(SRCARCHIVE)
37 -rm -f $(AMIGAARCHIVE) $(BEOSPPCARCHIVE) $(BEOSX86ARCHIVE)
38
39 #
40 # Source tarball
41 #
42 tarball: $(SRCARCHIVE)
43
44 $(SRCARCHIVE): $(SRCS) $(DOCS)
45 -rm -rf $(TMPDIR)
46 mkdir $(TMPDIR)
47 cd $(TMPDIR); cvs export -D "$(ISODATE)" BasiliskII
48 cd $(TMPDIR)/BasiliskII/src/Unix && NO_CONFIGURE=1 ./autogen.sh
49 cd $(TMPDIR)/BasiliskII/src/Windows && NO_CONFIGURE=1 ../Unix/autogen.sh
50 rm $(TMPDIR)/BasiliskII/Makefile
51 mv $(TMPDIR)/BasiliskII $(TMPDIR)/$(VERNAME)
52 cd $(TMPDIR); tar cfz $@ $(VERNAME)
53 mv $(TMPDIR)/$@ .
54 rm -rf $(TMPDIR)
55
56 #
57 # RPMs (source and binary)
58 #
59 rpm: $(SRCARCHIVE)
60 rpmbuild -ta --clean $(SRCARCHIVE)
61
62 #
63 # Binary archive for AmigaOS
64 #
65 amiga: $(AMIGAARCHIVE)
66
67 $(AMIGAARCHIVE): $(SRCS) $(DOCS) src/AmigaOS/BasiliskII
68 -rm -rf $(TMPDIR)
69 mkdir $(TMPDIR)
70 mkdir $(TMPDIR)/$(VERNAME)
71 cp $(DOCS) $(TMPDIR)/$(VERNAME)
72 cp src/AmigaOS/BasiliskII $(TMPDIR)/$(VERNAME)
73 cp src/AmigaOS/BasiliskII.info $(TMPDIR)/$(VERNAME)
74 chmod 775 $(TMPDIR)/$(VERNAME)/BasiliskII
75 cd $(TMPDIR); lha a $@ $(VERNAME)
76 mv $(TMPDIR)/$@ .
77 rm -rf $(TMPDIR)
78
79 #
80 # Binary archive for BeOS/ppc
81 #
82 beosppc: $(BEOSPPCARCHIVE)
83
84 $(BEOSPPCARCHIVE): $(SRCS) $(DOCS) src/BeOS/obj.ppc/BasiliskII
85 -rm -rf $(TMPDIR)
86 mkdir $(TMPDIR)
87 mkdir $(TMPDIR)/$(VERNAME)
88 cp $(DOCS) $(TMPDIR)/$(VERNAME)
89 cp src/BeOS/obj.ppc/BasiliskII $(TMPDIR)/$(VERNAME)
90 mimeset -f $(TMPDIR)
91 cd $(TMPDIR); zip -ry $@ $(VERNAME)/
92 mv $(TMPDIR)/$@ .
93 rm -rf $(TMPDIR)
94
95 #
96 # Binary archive for BeOS/x86
97 #
98 beosx86: $(BEOSX86ARCHIVE)
99
100 $(BEOSX86ARCHIVE): $(SRCS) $(DOCS) src/BeOS/obj.x86/BasiliskII
101 -rm -rf $(TMPDIR)
102 mkdir $(TMPDIR)
103 mkdir $(TMPDIR)/$(VERNAME)
104 cp $(DOCS) $(TMPDIR)/$(VERNAME)
105 cp src/BeOS/obj.x86/BasiliskII $(TMPDIR)/$(VERNAME)
106 mimeset -f $(TMPDIR)
107 cd $(TMPDIR); zip -ry $@ $(VERNAME)/
108 mv $(TMPDIR)/$@ .
109 rm -rf $(TMPDIR)
110
111 #
112 # Binary archive for MacOS X
113 #
114 macosx: $(MACOSXARCHIVE)
115
116 $(MACOSXARCHIVE): $(SRCS) $(DOCS) src/MacOSX/build/BasiliskII.app
117 -rm -rf $(TMPDIR)
118 mkdir $(TMPDIR)
119 mkdir $(TMPDIR)/$(VERNAME)
120 cp $(DOCS) $(TMPDIR)/$(VERNAME)
121 cp -pr src/MacOSX/build/BasiliskII.app $(TMPDIR)/$(VERNAME)
122 cd $(TMPDIR); tar -czvf $@ $(VERNAME)/
123 mv $(TMPDIR)/$@ .
124 rm -rf $(TMPDIR)