1## Process this file with automake to produce Makefile.in
2
3SUBDIRS = Source_Files tools data
4
5# Requires automake 1.5
6AUTOMAKE_OPTIONS = 1.5 foreign dist-bzip2 no-dist-gzip
7
8EXTRA_DIST = INSTALL.MacOSX INSTALL.Unix INSTALL.Windows	\
9  docs/MML.html docs/Lua.html docs/Lua_HUD.html		\
10  Resources/Windows/alephone.ico				\
11  Resources/Windows/alephone.rc						\
12  Resources/Windows/marathon.rc Resources/Windows/marathon.ico          \
13  Resources/Windows/marathon2.rc Resources/Windows/marathon2.ico        \
14  Resources/Windows/marathon-infinity.rc                                \
15  Resources/Windows/marathon-infinity.ico                               \
16  PBProjects/AlephOne.xcodeproj/project.pbxproj				\
17  PBProjects/English.lproj/InfoPlist.strings PBProjects/FilmIcon.icns	\
18  PBProjects/ImagesIcon.icns PBProjects/MapIcon.icns			\
19  PBProjects/MMLIcon.icns PBProjects/MusakIcon.icns			\
20  PBProjects/PhysIcon.icns			                        \
21  PBProjects/SaveIcon.icns PBProjects/ShapesIcon.icns			\
22  PBProjects/SoundsIcon.icns		\
23  PBProjects/AlephOne.icns				\
24  PBProjects/config.h PBProjects/confpaths.h	\
25  data/AlephSansMono-Bold.ttf data/AlephSansMonoLicense.txt		\
26  data/ProFontAO.ttf data/ProFontAOLicense.txt		\
27  docs/alephone.6 examples/lua/Cheats.lua THANKS			\
28  data/powered-by-alephone.svg						\
29  PBProjects/Info-AlephOne-Xcode4.plist\
30	PBProjects/AppStore/Marathon/Info.plist \
31	PBProjects/AppStore/Marathon/Marathon.icns \
32	PBProjects/AppStore/Marathon/English.lproj/InfoPlist.strings
33
34man_MANS = docs/alephone.6
35
36dist-hook: AlephOne.spec
37	cp AlephOne.spec $(distdir)
38	mkdir -p "$(distdir)/PBProjects/AppStore/Marathon 2/English.lproj"
39	cp "$(srcdir)/PBProjects/AppStore/Marathon 2/Info.plist" "$(distdir)/PBProjects/AppStore/Marathon 2/"
40	cp "$(srcdir)/PBProjects/AppStore/Marathon 2/Marathon 2.icns" "$(distdir)/PBProjects/AppStore/Marathon 2/"
41	cp "$(srcdir)/PBProjects/AppStore/Marathon 2/English.lproj/InfoPlist.strings" "$(distdir)/PBProjects/AppStore/Marathon 2/English.lproj/"
42	mkdir -p "$(distdir)/PBProjects/AppStore/Marathon Infinity/English.lproj"
43	cp "$(srcdir)/PBProjects/AppStore/Marathon Infinity/Info.plist" "$(distdir)/PBProjects/AppStore/Marathon Infinity/"
44	cp "$(srcdir)/PBProjects/AppStore/Marathon Infinity/Marathon Infinity.icns" "$(distdir)/PBProjects/AppStore/Marathon Infinity/"
45	cp "$(srcdir)/PBProjects/AppStore/Marathon Infinity/English.lproj/InfoPlist.strings" "$(distdir)/PBProjects/AppStore/Marathon Infinity/English.lproj/"
46
47
48release: dist windist
49
50# Rule to build RPM distribution package
51rpm: $(PACKAGE)-$(VERSION).tar.gz
52	rpmbuild -ta --clean $(PACKAGE)-$(VERSION).tar.gz
53
54# Rules to build Windows zipfiles
55WINZIP=$(PACKAGE)-$(VERSION)-Win.zip
56M1_WINZIP=Marathon-$(VERSION)-Win.zip
57M2_WINZIP=Marathon2-$(VERSION)-Win.zip
58MINF_WINZIP=MarathonInfinity-$(VERSION)-Win.zip
59
60M1_WINUP=Marathon-$(VERSION)-Exe-Win.zip
61M2_WINUP=Marathon2-$(VERSION)-Exe-Win.zip
62MINF_WINUP=MarathonInfinity-$(VERSION)-Exe-Win.zip
63
64winzip: $(WINZIP)
65m1-winzip: $(M1_WINZIP)
66m2-winzip: $(M2_WINZIP)
67inf-winzip: $(MINF_WINZIP)
68
69m1-winup: $(M1_WINUP)
70m2-winup: $(M2_WINUP)
71inf-winup: $(MINF_WINUP)
72
73windist: winzip m1-winzip m2-winzip inf-winzip m1-winup m2-winup inf-winup
74
75# Windows directories
76
77
78define cp_no_svn
79mkdir -p "$(2)"
80tar -c --exclude='.svn' --exclude='.git' --exclude='Makefile' --exclude='Makefile.*' -C "$(1)" . | tar -x -C "$(2)"
81endef
82
83define windist_common
84unix2dos -n $(srcdir)/THANKS "$(1)/THANKS.txt"
85unix2dos -n $(srcdir)/COPYING "$(1)/COPYING.txt"
86unix2dos -n $(srcdir)/README "$(1)/README.txt"
87mkdir "$(1)/docs"
88cp $(srcdir)/docs/Lua.html "$(1)/docs/Lua.html"
89cp $(srcdir)/docs/Lua_HUD.html "$(1)/docs/Lua_HUD.html"
90cp $(srcdir)/docs/MML.html "$(1)/docs/MML.html"
91mkdir "$(1)/Extras"
92cp $(srcdir)/data/Software_Transparent_Liquids.mml "$(1)/Extras"
93cp $(srcdir)/data/Carnage_Messages.mml "$(1)/Extras"
94unix2dos -n $(srcdir)/examples/lua/Cheats.lua "$(1)/Extras/Cheats.lua"
95$(call cp_no_svn,$(srcdir)/Resources/Library Licenses,$(1)/docs/Library Licenses)
96endef
97
98# Windows version
99
100WINDISTDIR=$(PACKAGE)-$(VERSION)
101$(WINZIP): Source_Files/AlephOne.exe
102	mkdir "$(WINDISTDIR)"
103	$(call windist_common,$(WINDISTDIR))
104	cp Source_Files/AlephOne.exe $(WINDISTDIR)/
105	unix2dos -n $(srcdir)/INSTALL.Windows "$(WINDISTDIR)/docs/INSTALL.Windows.txt"
106	cp $(srcdir)/data/Transparent_Sprites.mml $(WINDISTDIR)/Extras
107	cp $(srcdir)/data/Transparent_Liquids.mml $(WINDISTDIR)/Extras
108	$(call cp_no_svn,$(srcdir)/data/default_theme,$(WINDISTDIR)/Plugins/Default_Theme)
109	rm -f $(WINZIP)
110	zip -r $(WINZIP) $(WINDISTDIR)
111	rm -rf "$(WINDISTDIR)"
112
113WINUPDIR_M1=Marathon-$(VERSION)
114$(M1_WINUP): Source_Files/Marathon.exe
115	mkdir "$(WINUPDIR_M1)"
116	$(call windist_common,$(WINUPDIR_M1))
117	cp Source_Files/Marathon.exe "$(WINUPDIR_M1)/Marathon.exe"
118	rm -f $(M1_WINUP)
119	zip -r $(M1_WINUP) "$(WINUPDIR_M1)"
120	rm -rf "$(WINUPDIR_M1)"
121
122WINDISTDIR_M1=Marathon
123$(M1_WINZIP): Source_Files/Marathon.exe
124	mkdir "$(WINDISTDIR_M1)"
125	$(call windist_common,$(WINDISTDIR_M1))
126	$(call cp_no_svn,$(srcdir)/data/Scenarios/Marathon,$(WINDISTDIR_M1))
127	cp Source_Files/Marathon.exe "$(WINDISTDIR_M1)/Marathon.exe"
128	rm -f $(M1_WINZIP)
129	zip -r $(M1_WINZIP) "$(WINDISTDIR_M1)"
130	rm -rf "$(WINDISTDIR_M1)"
131
132WINUPDIR_M2=Marathon2-$(VERSION)
133$(M2_WINUP): Source_Files/Marathon2.exe
134	mkdir "$(WINUPDIR_M2)"
135	$(call windist_common,$(WINUPDIR_M2))
136	cp Source_Files/Marathon2.exe "$(WINUPDIR_M2)/Marathon 2.exe"
137	rm -f $(M2_WINUP)
138	zip -r $(M2_WINUP) "$(WINUPDIR_M2)"
139	rm -rf "$(WINUPDIR_M2)"
140
141WINDISTDIR_M2=Marathon 2
142$(M2_WINZIP): Source_Files/Marathon2.exe
143	mkdir "$(WINDISTDIR_M2)"
144	$(call windist_common,$(WINDISTDIR_M2))
145	$(call cp_no_svn,$(srcdir)/data/Scenarios/Marathon 2,$(WINDISTDIR_M2))
146	cp Source_Files/Marathon2.exe "$(WINDISTDIR_M2)/Marathon 2.exe"
147	rm -f $(M2_WINZIP)
148	zip -r $(M2_WINZIP) "$(WINDISTDIR_M2)"
149	rm -rf "$(WINDISTDIR_M2)"
150
151
152WINUPDIR_MINF=MarathonInfinity-$(VERSION)
153$(MINF_WINUP): Source_Files/MarathonInfinity.exe
154	mkdir "$(WINUPDIR_MINF)"
155	$(call windist_common,$(WINUPDIR_MINF))
156	cp Source_Files/MarathonInfinity.exe "$(WINUPDIR_MINF)/Marathon Infinity.exe"
157	rm -f $(MINF_WINUP)
158	zip -r $(MINF_WINUP) "$(WINUPDIR_MINF)"
159	rm -rf "$(WINUPDIR_MINF)"
160
161WINDISTDIR_MINF=Marathon Infinity
162$(MINF_WINZIP): Source_Files/Marathon2.exe
163	mkdir "$(WINDISTDIR_MINF)"
164	$(call windist_common,$(WINDISTDIR_MINF))
165	$(call cp_no_svn,$(srcdir)/data/Scenarios/Marathon Infinity,$(WINDISTDIR_MINF))
166	cp Source_Files/MarathonInfinity.exe "$(WINDISTDIR_MINF)/Marathon Infinity.exe"
167	rm -f $(MINF_WINZIP)
168	zip -r $(MINF_WINZIP) "$(WINDISTDIR_MINF)"
169	rm -rf "$(WINDISTDIR_MINF)"
170
171# Rules to build scenario-only zipfiles
172M1_DATAZIP=Marathon-$(VERSION)-Data.zip
173M2_DATAZIP=Marathon2-$(VERSION)-Data.zip
174MINF_DATAZIP=MarathonInfinity-$(VERSION)-Data.zip
175
176m1-datazip: $(M1_DATAZIP)
177m2-datazip: $(M2_DATAZIP)
178inf-datazip: $(MINF_DATAZIP)
179
180datadist: m1-datazip m2-datazip inf-datazip
181
182DATADISTDIR_M1=Marathon
183$(M1_DATAZIP):
184	mkdir "$(DATADISTDIR_M1)"
185	$(call cp_no_svn,$(srcdir)/data/Scenarios/Marathon,$(DATADISTDIR_M1))
186	rm -f $(M1_DATAZIP)
187	zip -r $(M1_DATAZIP) "$(DATADISTDIR_M1)"
188	rm -rf "$(DATADISTDIR_M1)"
189
190DATADISTDIR_M2=Marathon 2
191$(M2_DATAZIP):
192	mkdir "$(DATADISTDIR_M2)"
193	$(call cp_no_svn,$(srcdir)/data/Scenarios/Marathon 2,$(DATADISTDIR_M2))
194	rm -f $(M2_DATAZIP)
195	zip -r $(M2_DATAZIP) "$(DATADISTDIR_M2)"
196	rm -rf "$(DATADISTDIR_M2)"
197
198DATADISTDIR_MINF=Marathon Infinity
199$(MINF_DATAZIP):
200	mkdir "$(DATADISTDIR_MINF)"
201	$(call cp_no_svn,$(srcdir)/data/Scenarios/Marathon Infinity,$(DATADISTDIR_MINF))
202	rm -f $(MINF_DATAZIP)
203	zip -r $(MINF_DATAZIP) "$(DATADISTDIR_MINF)"
204	rm -rf "$(DATADISTDIR_MINF)"
205
206FORCE:
207