Initial revision
[ssr] / StraySrc / Dynamite / dynamite / Makefile,fe1
1 #
2 # Makefile
3 #
4 # © 1998 Straylight/Edgeware
5 #
6
7 #----- Licensing note -------------------------------------------------------
8 #
9 # This makefile is free software; you can redistribute it and/or modify
10 # it under the terms of the GNU General Public License as published by
11 # the Free Software Foundation; either version 2, or (at your option)
12 # any later version.
13 #
14 # This makefile is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 # GNU General Public License for more details.
18 #
19 # You should have received a copy of the GNU General Public License
20 # along with this makefile. If not, write to the Free Software Foundation,
21 # 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22
23 #----- Compilation flags ----------------------------------------------------
24
25 # --- Uncomment to use the C4 tools ---
26
27 # OLD = o-
28
29 # --- C compilation ---
30
31 CC = $(OLD)cc -c -o $@
32 CFLAGS = -depend !Depend -throwback -ffah -Ilibs: -IC:
33 COMPILE = $(CC) $(CFLAGS)
34
35 # --- Assembling ---
36
37 AS = $(OLD)objasm -quit -to $@
38 ASFLAGS = -stamp -depend !Depend -throwback
39 ASSEMBLE = $(AS) $(ASFLAGS) -from
40
41 BAS = basasm
42
43 # --- Linking ---
44
45 LD = $(OLD)link -o $@
46 LD_APP = $(LD) -aif
47 LD_UTIL = $(LD) -bin -base 0
48 LD_MOD = $(LD) -bin -base 0
49 LD_BIN = $(LD) -bin -base 0
50 LD_DLL = $(LD) -rmf
51 LD_AOF = $(LD) -aof
52
53 # --- Making libraries ---
54
55 AR = $(OLD)libfile -o
56
57 CDLL = cdll
58
59 # --- Setting file types ---
60
61 SET_APP = SetType $@ FF8
62 SET_MOD = SetType $@ FFA
63 SET_UTIL = SetType $@ FFC
64 SET_DLL = SetType $@ FFD
65
66 # --- Other maintenance things ---
67
68 RM = ssrclean
69 INSTALL = inst
70 SETDATE = setdate
71 SQUEEZE = squeeze $@
72 DATE = %zdy %mo %ce%yr
73 MODDATE = %dy %m3 %ce%yr
74 CRIGHT = © %ce%yr Straylight
75 FIXLINK = fixlink $@
76
77 #----- Default rules --------------------------------------------------------
78
79 .SUFFIXES: .o .c .s .bs
80 .c.o:
81 $(COMPILE) $<
82 .s.o:
83 $(ASSEMBLE) $<
84 .bs.o:
85 $(BAS) $< $@
86
87 #----- Object files ---------------------------------------------------------
88
89 OBJS = \
90 o.dynamite \
91 o.dynAnchor o.dynArea o.dynHeap o.dynTask o.fastMove \
92 o.messages
93
94 #----- Compiling things -----------------------------------------------------
95
96 all: Dynamite
97
98 Dynamite: $(OBJS)
99 $(SETDATE) o.version version="Dynamite\t1.21 ($(MODDATE)) $(CRIGHT)"
100 $(LD_MOD) $(OBJS) o.version
101 $(SET_MOD)
102
103 o.messages: rsc.messages
104 msgaof rsc.messages o.messages sh.messages
105
106 install: Dynamite
107 $(INSTALL) Dynamite <SSR$ModDir>
108
109 clean:
110 -$(RM) o.* Dynamite
111
112 #----- Dynamic dependencies -------------------------------------------------
113
114 # Dynamic dependencies:
115 o.dynamite: s.dynamite
116 o.dynamite: libs:header
117 o.dynamite: libs:swis
118 o.dynamite: libs:stream
119 o.dynamite: sh.dynAnchor
120 o.dynamite: sh.dynArea
121 o.dynamite: sh.dynHeap
122 o.dynamite: sh.dynTask
123 o.dynamite: sh.wSpace
124 o.dynamite: sh.messages
125 o.dynamite: s.dynamite
126 o.dynamite: libs:header
127 o.dynamite: libs:swis
128 o.dynamite: libs:stream
129 o.dynamite: sh.dynAnchor
130 o.dynamite: sh.dynArea
131 o.dynamite: sh.dynHeap
132 o.dynamite: sh.dynTask
133 o.dynamite: sh.wSpace
134 o.dynamite: sh.messages
135 o.dynamite: s.dynamite
136 o.dynamite: libs:header
137 o.dynamite: libs:swis
138 o.dynamite: libs:stream
139 o.dynamite: sh.dynAnchor
140 o.dynamite: sh.dynArea
141 o.dynamite: sh.dynHeap
142 o.dynamite: sh.dynTask
143 o.dynamite: sh.wSpace
144 o.dynamite: sh.messages
145 o.dynamite: s.dynamite
146 o.dynamite: libs:header
147 o.dynamite: libs:swis
148 o.dynamite: libs:stream
149 o.dynamite: sh.dynAnchor
150 o.dynamite: sh.dynArea
151 o.dynamite: sh.dynHeap
152 o.dynamite: sh.dynTask
153 o.dynamite: sh.wSpace
154 o.dynamite: sh.messages
155 o.dynAnchor: s.dynAnchor
156 o.dynAnchor: libs:header
157 o.dynAnchor: libs:swis
158 o.dynAnchor: sh.wSpace
159 o.dynArea: s.dynArea
160 o.dynArea: libs:header
161 o.dynArea: libs:swis
162 o.dynArea: libs:stream
163 o.dynArea: sh.wSpace
164 o.dynHeap: s.dynHeap
165 o.dynHeap: libs:header
166 o.dynHeap: libs:swis
167 o.dynHeap: libs:stream
168 o.dynHeap: libs:sh.fastMove
169 o.dynHeap: sh.dynArea
170 o.dynHeap: sh.dynTask
171 o.dynHeap: sh.wSpace
172 o.dynHeap: sh.messages
173 o.dynTask: s.dynTask
174 o.dynTask: libs:header
175 o.dynTask: libs:swis
176 o.dynTask: libs:stream
177 o.dynTask: sh.dynHeap
178 o.dynTask: sh.wSpace
179 o.dynTask: sh.messages
180 o.fastMove: s.fastMove
181 o.fastMove: libs:s.fastMove
182 o.fastMove: libs:header
183 o.fastMove: libs:swis