1# This is an automatically generated file; please do not edit it manually.
2# Instead, run makefile_builder.sh from the parent directory.
3# It may require a little tweaking. (paths)
4
5# Where is Ultima 7 installed
6U7PATH=C:/Ultima7
7
8# Base of the exult source
9SRC=../..
10
11srcdir=.
12
13UCCDIR=$(SRC)
14UCC=$(UCCDIR)/ucc.exe
15
16EXPACKDIR=$(SRC)
17EXPACK=$(EXPACKDIR)/expack.exe
18
19bgkeyringdir=$(U7PATH)/forgeofvirtue/mods
20
21USECODE_OBJECTS = \
22	src/headers/array_functions.uc	\
23	src/headers/bg/bg_externals.uc	\
24	src/headers/bg/bg_externals2.uc	\
25	src/headers/bg/bg_gflags.uc	\
26	src/headers/bg/bg_gflags2.uc	\
27	src/headers/bg/bg_npcs.uc	\
28	src/headers/bg/bg_shapes.uc	\
29	src/headers/bg/bg_shapes2.uc	\
30	src/headers/constants.uc	\
31	src/headers/constants2.uc	\
32	src/headers/functions.uc	\
33	src/headers/functions2.uc	\
34	src/headers/new_flags.uc	\
35	src/headers/new_items.uc	\
36	src/headers/new_shapes.uc	\
37	src/headers/npcs.uc	\
38	src/items/anvil.uc	\
39	src/items/baby.uc	\
40	src/items/bellows.uc	\
41	src/items/blackrock_potion.uc	\
42	src/items/blacksword.uc	\
43	src/items/bottle.uc	\
44	src/items/bucket.uc	\
45	src/items/cloth.uc	\
46	src/items/crown_jewels.uc	\
47	src/items/dough.uc	\
48	src/items/eternal_flames.uc	\
49	src/items/firepit.uc	\
50	src/items/fishingrod.uc	\
51	src/items/food.uc	\
52	src/items/gem_of_dispelling.uc	\
53	src/items/hammer.uc	\
54	src/items/key.uc	\
55	src/items/keyring.uc	\
56	src/items/kitchenitem.uc	\
57	src/items/lens.uc	\
58	src/items/magic_carpet.uc	\
59	src/items/misc.uc	\
60	src/items/orb_of_the_moons.uc	\
61	src/items/plaque.uc	\
62	src/items/pocketwatch.uc	\
63	src/items/related_functions/arcadion_dialog.uc	\
64	src/items/remote_viewers.uc	\
65	src/items/rings.uc	\
66	src/items/shears.uc	\
67	src/items/shrines.uc	\
68	src/items/spell_items.uc	\
69	src/items/swordblank.uc	\
70	src/items/torch.uc	\
71	src/items/water_trough.uc	\
72	src/items/well.uc	\
73	src/items/wheat.uc	\
74	src/items/zauriel_journal.uc	\
75	src/misc/blacksmithing.uc	\
76	src/misc/blacksmithing/constants.uc	\
77	src/misc/blacksmithing/externs.uc	\
78	src/misc/blacksmithing/functions.uc	\
79	src/misc/codex_eggs.uc	\
80	src/misc/fishing.uc	\
81	src/misc/food_stuff.uc	\
82	src/misc/food_stuff/constants.uc	\
83	src/misc/food_stuff/eggs.uc	\
84	src/misc/food_stuff/functions.uc	\
85	src/misc/food_stuff/milking.uc	\
86	src/misc/inn_key_eggs.uc	\
87	src/misc/iteractions.uc	\
88	src/misc/rest_functions.uc	\
89	src/misc/services.uc	\
90	src/misc/shearing.uc	\
91	src/misc/shearing/constants.uc	\
92	src/misc/shearing/functions.uc	\
93	src/monsters/chicken.uc	\
94	src/monsters/fish.uc	\
95	src/monsters/sheep.uc	\
96	src/npcs/camille.uc	\
97	src/npcs/chantu.uc	\
98	src/npcs/csil.uc	\
99	src/npcs/elad.uc	\
100	src/npcs/gordon.uc	\
101	src/npcs/inmanilem.uc	\
102	src/npcs/jaana.uc	\
103	src/npcs/laurianna.uc	\
104	src/npcs/leigh.uc	\
105	src/npcs/lordbritish.uc	\
106	src/npcs/lordheather.uc	\
107	src/npcs/mariah.uc	\
108	src/npcs/menion.uc	\
109	src/npcs/npcs.uc	\
110	src/npcs/perrin.uc	\
111	src/npcs/related_functions/laurianna_dialog.uc	\
112	src/npcs/related_functions/zauriel_dialog.uc	\
113	src/npcs/reyna.uc	\
114	src/npcs/tory.uc	\
115	src/npcs/willy.uc	\
116	src/npcs/wisps.uc	\
117	src/npcs/zauriel.uc	\
118	src/quests/codex.uc	\
119	src/quests/codex/show_codex.uc	\
120	src/quests/keyring.uc	\
121	src/quests/keyring/constants.uc	\
122	src/quests/keyring/cutscenes/cheaters_cataclysm.uc	\
123	src/quests/keyring/cutscenes/mage_and_goons.uc	\
124	src/quests/keyring/cutscenes/zauriel_make_potion.uc	\
125	src/quests/keyring/cutscenes/zauriel_ritual.uc	\
126	src/quests/keyring/eggs.uc	\
127	src/quests/keyring/functions.uc	\
128	src/quests/locklake/cleanup_eggs.uc	\
129	src/spells/eighth_circle.uc	\
130	src/spells/fifth_circle.uc	\
131	src/spells/first_circle.uc	\
132	src/spells/fourth_circle.uc	\
133	src/spells/linear_spells.uc	\
134	src/spells/main_spells.uc	\
135	src/spells/npc_spells.uc	\
136	src/spells/second_circle.uc	\
137	src/spells/seventh_circle.uc	\
138	src/spells/sixth_circle.uc	\
139	src/spells/spell_ai.uc	\
140	src/spells/spell_functions.uc	\
141	src/spells/spellbook_override.uc	\
142	src/spells/third_circle.uc	\
143	src/usecode.uc
144
145FACES_VGA_OBJECTS = \
146	src/graphics/faces.in	\
147	src/graphics/faces/Avatar_Faces.shp	\
148	src/graphics/faces/Codex.shp	\
149	src/graphics/faces/Enemy_Faces.shp	\
150	src/graphics/faces/Lauriannas_Faces.shp	\
151	src/graphics/faces/Shrine_Faces.shp	\
152	src/graphics/faces/Zauriel_Face.shp
153
154GUMPS_VGA_OBJECTS = \
155	src/graphics/gumps.in	\
156	src/graphics/gumps/Black_Female_Gump.shp	\
157	src/graphics/gumps/Black_Male_Gump.shp	\
158	src/graphics/gumps/Brunette_Female_Gump.shp	\
159	src/graphics/gumps/Brunette_Male_Gump.shp	\
160	src/graphics/gumps/Buckethead_Female_Gump.shp	\
161	src/graphics/gumps/Buckethead_Male_Gump.shp	\
162	src/graphics/gumps/Laurianna_Gump.shp	\
163	src/graphics/gumps/Mariah_Gump.shp	\
164	src/graphics/gumps/Portable_Hole.shp	\
165	src/graphics/gumps/Raven_Female_Gump.shp	\
166	src/graphics/gumps/Raven_Male_Gump.shp	\
167	src/graphics/gumps/Redhead_Female_Gump.shp	\
168	src/graphics/gumps/Redhead_Male_Gump.shp
169
170MAINSHP_FLX_OBJECTS = \
171	src/graphics/mainshp.in	\
172	src/graphics/mainshp/title.shp
173
174PAPERDOL_VGA_OBJECTS = \
175	src/graphics/paperdol.in	\
176	src/graphics/paperdol/Female_Paperdoll.shp	\
177	src/graphics/paperdol/FlyingCarpet.shp	\
178	src/graphics/paperdol/Laurianna_Paperdoll.shp	\
179	src/graphics/paperdol/LB_Crown_Paperdoll.shp	\
180	src/graphics/paperdol/LB_Sceptre_Paperdoll.shp	\
181	src/graphics/paperdol/Male_Paperdoll.shp	\
182	src/graphics/paperdol/Mariah_Paperdoll.shp	\
183	src/graphics/paperdol/Spell_Amulet_Paperdoll.shp	\
184	src/graphics/paperdol/Spellbook_Paperdoll.shp
185
186SHAPES_VGA_OBJECTS = \
187	src/graphics/shapes.in	\
188	src/graphics/shapes/Avatar_Bodies.shp	\
189	src/graphics/shapes/Barrier.shp	\
190	src/graphics/shapes/Black_Female_Avatar.shp	\
191	src/graphics/shapes/Black_Female_Nude.shp	\
192	src/graphics/shapes/Black_Male_Avatar.shp	\
193	src/graphics/shapes/Black_Male_Nude.shp	\
194	src/graphics/shapes/Blonde_Female_Avatar.shp	\
195	src/graphics/shapes/Blonde_Female_Nude.shp	\
196	src/graphics/shapes/Blonde_Male_Avatar.shp	\
197	src/graphics/shapes/Blonde_Male_Nude.shp	\
198	src/graphics/shapes/Bodies.shp	\
199	src/graphics/shapes/Book.shp	\
200	src/graphics/shapes/Brunette_Female_Avatar.shp	\
201	src/graphics/shapes/Brunette_Female_Nude.shp	\
202	src/graphics/shapes/Brunette_Male_Avatar.shp	\
203	src/graphics/shapes/Brunette_Male_Nude.shp	\
204	src/graphics/shapes/Bucket.shp	\
205	src/graphics/shapes/Buckethead_Female_Avatar.shp	\
206	src/graphics/shapes/Buckethead_Male_Avatar.shp	\
207	src/graphics/shapes/Codex_Barrier.shp	\
208	src/graphics/shapes/Codex_Carpet.shp	\
209	src/graphics/shapes/Death_Bolt.shp	\
210	src/graphics/shapes/Dough.shp	\
211	src/graphics/shapes/Dupre.shp	\
212	src/graphics/shapes/Fake_Water.shp	\
213	src/graphics/shapes/Flame_of_Infinity.shp	\
214	src/graphics/shapes/Flame_of_Principle.shp	\
215	src/graphics/shapes/Flame_of_Singularity.shp	\
216	src/graphics/shapes/FlyingCarpet-rolled.shp	\
217	src/graphics/shapes/FlyingCarpet-roller.shp	\
218	src/graphics/shapes/FlyingCarpet-unrolled.shp	\
219	src/graphics/shapes/Iolo.shp	\
220	src/graphics/shapes/Iolos_Lute.shp	\
221	src/graphics/shapes/Item_of_Principle.shp	\
222	src/graphics/shapes/Jaana.shp	\
223	src/graphics/shapes/Julia.shp	\
224	src/graphics/shapes/Julias_Hammer.shp	\
225	src/graphics/shapes/Keyring.shp	\
226	src/graphics/shapes/Kitchen_Items.shp	\
227	src/graphics/shapes/Laurianna.shp	\
228	src/graphics/shapes/Laurianna.shp	\
229	src/graphics/shapes/LB_Amulet.shp	\
230	src/graphics/shapes/LB_Crown.shp	\
231	src/graphics/shapes/LB_Sceptre.shp	\
232	src/graphics/shapes/Lord_British.shp	\
233	src/graphics/shapes/Magic_Gem.shp	\
234	src/graphics/shapes/Mariah.shp	\
235	src/graphics/shapes/Moongate_NE_SW.shp	\
236	src/graphics/shapes/Moongate_NW_SE.shp	\
237	src/graphics/shapes/Portable_Hole.shp	\
238	src/graphics/shapes/Potion.shp	\
239	src/graphics/shapes/Raven_Female_Avatar.shp	\
240	src/graphics/shapes/Raven_Female_Nude.shp	\
241	src/graphics/shapes/Raven_Male_Avatar.shp	\
242	src/graphics/shapes/Raven_Male_Nude.shp	\
243	src/graphics/shapes/Redhead_Female_Avatar.shp	\
244	src/graphics/shapes/Redhead_Female_Nude.shp	\
245	src/graphics/shapes/Redhead_Male_Avatar.shp	\
246	src/graphics/shapes/Redhead_Male_Nude.shp	\
247	src/graphics/shapes/Rooted_Laurianna.shp	\
248	src/graphics/shapes/Shamino.shp	\
249	src/graphics/shapes/Shrines.shp	\
250	src/graphics/shapes/Slate_Roof_2.shp	\
251	src/graphics/shapes/Spell_Amulet.shp	\
252	src/graphics/shapes/Spellbook.shp	\
253	src/graphics/shapes/Spider_Egg.shp	\
254	src/graphics/shapes/Stained_Glass_Horizontal.shp	\
255	src/graphics/shapes/Stained_Glass_Vertical.shp	\
256	src/graphics/shapes/Stairs_Down.shp	\
257	src/graphics/shapes/Sword_Blank.shp
258
259CLEANFILES = \
260	data/usecode	\
261	data/faces.vga	\
262	data/faces_vga.h	\
263	data/gumps.vga	\
264	data/gumps_vga.h	\
265	data/mainshp.flx	\
266	data/mainshp_flx.h	\
267	data/paperdol.vga	\
268	data/paperdol_vga.h	\
269	data/shapes.vga	\
270	data/shapes_vga.h
271
272all: data/usecode data/faces.vga data/gumps.vga data/mainshp.flx data/paperdol.vga data/shapes.vga
273
274install: all
275	mkdir $(bgkeyringdir)
276	cp Keyring.cfg $(bgkeyringdir)/Keyring.cfg
277	mkdir -p $(bgkeyringdir)/Keyring/data
278	cp data/usecode $(bgkeyringdir)/Keyring/data/usecode
279	cp data/faces.vga $(bgkeyringdir)/Keyring/data/faces.vga
280	cp data/gumps.vga $(bgkeyringdir)/Keyring/data/gumps.vga
281	cp data/mainshp.flx $(bgkeyringdir)/Keyring/data/mainshp.flx
282	cp data/paperdol.vga $(bgkeyringdir)/Keyring/data/paperdol.vga
283	cp data/shapes.vga $(bgkeyringdir)/Keyring/data/shapes.vga
284	cp data/armor.dat $(bgkeyringdir)/Keyring/data/armor.dat
285	cp data/avatar_data.txt $(bgkeyringdir)/Keyring/data/avatar_data.txt
286	cp data/bodies.txt $(bgkeyringdir)/Keyring/data/bodies.txt
287	cp data/combos.flx $(bgkeyringdir)/Keyring/data/combos.flx
288	cp data/container.dat $(bgkeyringdir)/Keyring/data/container.dat
289	cp data/equip.dat $(bgkeyringdir)/Keyring/data/equip.dat
290	cp data/initgame.dat $(bgkeyringdir)/Keyring/data/initgame.dat
291	cp data/minimaps.vga $(bgkeyringdir)/Keyring/data/minimaps.vga
292	cp data/monsters.dat $(bgkeyringdir)/Keyring/data/monsters.dat
293	cp data/occlude.dat $(bgkeyringdir)/Keyring/data/occlude.dat
294	cp data/paperdol_info.txt $(bgkeyringdir)/Keyring/data/paperdol_info.txt
295	cp data/patchkeys.txt $(bgkeyringdir)/Keyring/data/patchkeys.txt
296	cp data/ready.dat $(bgkeyringdir)/Keyring/data/ready.dat
297	cp data/shape_info.txt $(bgkeyringdir)/Keyring/data/shape_info.txt
298	cp data/shpdims.dat $(bgkeyringdir)/Keyring/data/shpdims.dat
299	cp data/textmsg.txt $(bgkeyringdir)/Keyring/data/textmsg.txt
300	cp data/tfa.dat $(bgkeyringdir)/Keyring/data/tfa.dat
301	cp data/u7ifix02 $(bgkeyringdir)/Keyring/data/u7ifix02
302	cp data/u7ifix0d $(bgkeyringdir)/Keyring/data/u7ifix0d
303	cp data/u7ifix2d $(bgkeyringdir)/Keyring/data/u7ifix2d
304	cp data/u7ifix32 $(bgkeyringdir)/Keyring/data/u7ifix32
305	cp data/u7ifix3a $(bgkeyringdir)/Keyring/data/u7ifix3a
306	cp data/u7ifix41 $(bgkeyringdir)/Keyring/data/u7ifix41
307	cp data/u7ifix52 $(bgkeyringdir)/Keyring/data/u7ifix52
308	cp data/u7ifix6f $(bgkeyringdir)/Keyring/data/u7ifix6f
309	cp data/u7ifix77 $(bgkeyringdir)/Keyring/data/u7ifix77
310	cp data/u7ifix79 $(bgkeyringdir)/Keyring/data/u7ifix79
311	cp data/u7ifix7b $(bgkeyringdir)/Keyring/data/u7ifix7b
312	cp data/u7ifix7d $(bgkeyringdir)/Keyring/data/u7ifix7d
313	cp data/u7ifix82 $(bgkeyringdir)/Keyring/data/u7ifix82
314	cp data/u7ifix8e $(bgkeyringdir)/Keyring/data/u7ifix8e
315	cp data/u7map $(bgkeyringdir)/Keyring/data/u7map
316	cp data/weapons.dat $(bgkeyringdir)/Keyring/data/weapons.dat
317	cp data/wgtvol.dat $(bgkeyringdir)/Keyring/data/wgtvol.dat
318	cp data/wihh.dat $(bgkeyringdir)/Keyring/data/wihh.dat
319	mkdir -p $(bgkeyringdir)/Keyring/data/map01
320	cp data/map01/u7ifix77 $(bgkeyringdir)/Keyring/data/map01/u7ifix77
321	cp data/map01/u7ifix7d $(bgkeyringdir)/Keyring/data/map01/u7ifix7d
322	cp data/map01/u7map $(bgkeyringdir)/Keyring/data/map01/u7map
323
324uninstall:
325	rm -f $(bgkeyringdir)/Keyring.cfg
326	rm -rf $(bgkeyringdir)/Keyring
327
328$(EXPACK):
329	+(cd $(EXPACKDIR);$(MAKE) -f Makefile.mingw expack.exe)
330
331$(UCC):
332	+(cd $(UCCDIR);$(MAKE) -f Makefile.mingw ucc.exe)
333
334
335data/usecode: $(UCC) $(USECODE_OBJECTS)
336	$(UCC) -I src -o data/usecode src/usecode.uc
337
338data/faces.vga: $(EXPACK) $(FACES_VGA_OBJECTS)
339	$(EXPACK) -i $(srcdir)/src/graphics/faces.in
340
341data/gumps.vga: $(EXPACK) $(GUMPS_VGA_OBJECTS)
342	$(EXPACK) -i $(srcdir)/src/graphics/gumps.in
343
344data/mainshp.flx: $(EXPACK) $(MAINSHP_FLX_OBJECTS)
345	$(EXPACK) -i $(srcdir)/src/graphics/mainshp.in
346
347data/paperdol.vga: $(EXPACK) $(PAPERDOL_VGA_OBJECTS)
348	$(EXPACK) -i $(srcdir)/src/graphics/paperdol.in
349
350data/shapes.vga: $(EXPACK) $(SHAPES_VGA_OBJECTS)
351	$(EXPACK) -i $(srcdir)/src/graphics/shapes.in
352
353clean:
354	rm -f $(CLEANFILES)
355
356