-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathMakefile.mac
126 lines (110 loc) · 4.44 KB
/
Makefile.mac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# :ts=8 bk=0
#
# Makefile for CastleHopper. Intended for use on a Sun workstation.
#
# Leo L. Schwab 9305.12
# Converted from standard UNIX format to the Mac 9312.15
############################################################################
# Copyright (c) 1993 New Technologies Group, Inc.
#
# This document is proprietary and confidential. Divulge it and DIE.
############################################################################
#
CASTLE_CO = ctst.o rend.o shoot.o objects.o ob_zombie.o ob_george.o ∂
ob_head.o ob_spider.o ob_powerup.o ob_exit.o ob_trigger.o ∂
clip.o levelfile.o leveldef.o genmessage.o statscreen.o ∂
thread.o titleseq.o imgfile.o loadloaf.o file.o timing.o ∂
sound.o soundinterface.o cinepak.o map.o option.o ∂
elkabong.o
FONT_O = font.co font.so
CASTLE_AO = misc.o project.o
CASTLE_O = {CASTLE_CO} {CASTLE_AO}
LIB = {3DOLibs}
CINCLUDES = -J {3DOIncludes} -J {DSSUPPORT}
AINCLUDES = -I {3DOIncludes} -I {DSSUPPORT}
DSSUPPORT = :dssupport
# Improved music.lib fetched locally for 9311.11 build.
LIBS = {DSSUPPORT}:Subscriber.lib ∂
{LIB}Lib3DO.lib {LIB}graphics.lib {LIB}filesystem.lib ∂
{LIB}input.lib {LIB}audio.lib music.lib ∂
{LIB}clib.lib {LIB}swi.lib {LIB}operamath.lib ∂
{DSSUPPORT}:DataAcq.lib {DSSUPPORT}:DS.lib ∂
{DSSUPPORT}:codec.lib
STARTUP = {LIB}cstartup.o
COMPILE = armcc
ASSEMBLE = armasm
LINK = armlink
MAKELIB = armlib
COPTS = -Wanp -c {CINCLUDES} -bigend -fc -zps0 -za1
SOPTS = -PD '|_LITTLE_END_| SETL {FALSE};' {AINCLUDES} -bigend -Apcs 3'/'32bit
LOPTS = -AIF -B 0x00 -R
############################################################################
# Rules for building files.
#
.o ƒ .c
{COMPILE} {COPTS} -o {default}.o {default}.c
.o ƒ .asm
{ASSEMBLE} {SOPTS} -o {default}.o {default}.asm
############################################################################
# Application builder.
#
all ƒ ctst
echo "Nice software!"
### Debug version
###
##ctst ƒƒ {STARTUP} {LIBS} {CASTLE_O} {FONT_O}
## {LINK} {LOPTS} -Debug -S ctst.catsym -o ctst.dbg {STARTUP} {CASTLE_O} {FONT_O} {LIBS}
## stripaif ctst.dbg -o ctst -s ctst.sym
## modbin ctst -stack 4096 -debug
## modbin ctst.dbg -stack 4096 -debug
ctst ƒƒ {STARTUP} {LIBS} {CASTLE_O} {FONT_O}
{LINK} {LOPTS} -S ctst.catsym -o ctst {STARTUP} {CASTLE_O} {FONT_O} {LIBS}
modbin ctst -stack 10240
SetFile -c EaDJ -t PROJ ctst
# Duplicate -y ctst {UPDATE}
############################################################################
# Automagic prototype generator. (Designed for UNIX. Doesn't work on Mac,
# 'cuz the Mac doesn't have useful tools like 'cproto' and 'sed'...)
#
#proto:
# cproto {INCLUDES} {CASTLE_CO:.o=.c} | sed -e "s/register //g" > app_proto.h
#
############################################################################
# Include dependencies.
#
ctst.o ƒƒ castle.h objects.h imgfile.h loaf.h sound.h flow.h ∂
app_proto.h
levelfile.o ƒƒ castle.h objects.h app_proto.h
timing.o ƒƒ castle.h app_proto.h
imgfile.o ƒƒ castle.h imgfile.h app_proto.h
rend.o ƒƒ castle.h imgfile.h loaf.h anim.h app_proto.h
textstuff.o ƒƒ castle.h objects.h imgfile.h loaf.h textstuff.h ∂
app_proto.h
clip.o ƒƒ castle.h app_proto.h
shoot.o ƒƒ castle.h objects.h imgfile.h sound.h app_proto.h
objects.o ƒƒ castle.h objects.h anim.h imgfile.h sound.h ∂
app_proto.h
loadloaf.o ƒƒ castle.h loaf.h app_proto.h
ob_zombie.o ƒƒ castle.h objects.h anim.h imgfile.h sound.h ∂
app_proto.h
leveldef.o ƒƒ castle.h objects.h
zombietitle.o ƒƒ castle.h app_proto.h
sound.o ƒƒ castle.h sound.h soundinterface.h app_proto.h
thread.o ƒƒ castle.h app_proto.h
genmessage.o ƒƒ castle.h objects.h imgfile.h app_proto.h font.h
ob_exit.o ƒƒ castle.h objects.h app_proto.h
ob_powerup.o ƒƒ castle.h objects.h loaf.h anim.h sound.h ∂
ob_powerup.h app_proto.h
soundinterface.o ƒƒ soundinterface.h
map.o ƒƒ castle.h objects.h imgfile.h ob_powerup.h ∂
app_proto.h
titleseq.o ƒƒ castle.h imgfile.h flow.h app_proto.h
ob_trigger.o ƒƒ castle.h objects.h sound.h app_proto.h
ob_head.o ƒƒ castle.h objects.h anim.h imgfile.h app_proto.h
ob_george.o ƒƒ castle.h objects.h anim.h imgfile.h app_proto.h
ob_spider.o ƒƒ castle.h objects.h anim.h imgfile.h app_proto.h
statscreen.o ƒƒ castle.h objects.h imgfile.h font.h sound.h flow.h ∂
option.h app_proto.h
cinepak.o ƒƒ castle.h app_proto.h
option.o ƒƒ castle.h objects.h imgfile.h font.h option.h ∂
app_proto.h