Initial revision
[ssr] / StraySrc / Sculptrix / sculptrix / 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.sculptrix \
91 o.bbox o.border o.colours o.config o.plot o.redraw o.slab \
92 o.rules o.utils o.vString \
93 o.messages
94
95 VERSION = 2.01
96
97 #----- Compiling things -----------------------------------------------------
98
99 all: Sculptrix
100
101 Sculptrix: $(OBJS)
102 $(SETDATE) \
103 o.version \
104 version="Sculptrix\t$(VERSION) ($(MODDATE)) $(CRIGHT)"
105 $(LD_MOD) $(OBJS) o.version
106 $(SET_MOD)
107
108 o.messages: rsc.messages
109 msgaof rsc.messages o.messages sh.messages
110
111 install: Sculptrix
112 $(INSTALL) Sculptrix <SSR$ModDir>
113
114 clean:
115 -$(RM) o.* Sculptrix
116
117 #----- Dynamic dependencies -------------------------------------------------
118
119 # Dynamic dependencies:
120 o.sculptrix: s.sculptrix
121 o.sculptrix: libs:header
122 o.sculptrix: libs:swis
123 o.sculptrix: libs:stream
124 o.sculptrix: sh.bbox
125 o.sculptrix: sh.config
126 o.sculptrix: sh.plot
127 o.sculptrix: sh.redraw
128 o.sculptrix: sh.slab
129 o.sculptrix: sh.vString
130 o.sculptrix: sh.wSpace
131 o.sculptrix: sh.messages
132 o.bbox: s.bbox
133 o.bbox: libs:header
134 o.bbox: libs:swis
135 o.bbox: libs:stream
136 o.bbox: sh.vString
137 o.bbox: sh.wSpace
138 o.border: s.border
139 o.border: libs:header
140 o.border: libs:swis
141 o.border: libs:stream
142 o.border: sh.colours
143 o.border: sh.wSpace
144 o.border: sh.messages
145 o.colours: s.colours
146 o.colours: libs:header
147 o.colours: libs:swis
148 o.colours: libs:stream
149 o.colours: sh.vString
150 o.config: s.config
151 o.config: libs:header
152 o.config: libs:swis
153 o.config: libs:stream
154 o.config: sh.wSpace
155 o.config: sh.messages
156 o.plot: s.plot
157 o.plot: libs:header
158 o.plot: libs:swis
159 o.plot: libs:stream
160 o.plot: sh.border
161 o.plot: sh.rules
162 o.plot: sh.utils
163 o.plot: sh.vString
164 o.plot: sh.wSpace
165 o.redraw: s.redraw
166 o.redraw: libs:header
167 o.redraw: libs:swis
168 o.redraw: libs:stream
169 o.redraw: sh.plot
170 o.redraw: sh.vString
171 o.redraw: sh.wSpace
172 o.slab: s.slab
173 o.slab: libs:header
174 o.slab: libs:swis
175 o.slab: libs:stream
176 o.slab: sh.colours
177 o.slab: sh.plot
178 o.slab: sh.vString
179 o.slab: sh.wSpace
180 o.rules: s.rules
181 o.rules: libs:header
182 o.rules: libs:swis
183 o.rules: libs:stream
184 o.utils: s.utils
185 o.utils: libs:header
186 o.utils: libs:swis
187 o.utils: libs:stream
188 o.vString: s.vString
189 o.vString: libs:header
190 o.vString: libs:swis
191 o.vString: libs:stream
192 o.vString: sh.wSpace