Annotation of sys/arch/m68k/fpsp/Makefile, Revision 1.1.1.1
1.1 nbrk 1: # $OpenBSD: Makefile,v 1.14 2001/09/14 05:35:31 art Exp $
2: # $NetBSD: Makefile,v 1.6 1997/04/25 22:17:33 veego Exp $
3:
4: # MOTOROLA MICROPROCESSOR & MEMORY TECHNOLOGY GROUP
5: # M68000 Hi-Performance Microprocessor Division
6: # M68040 Software Package
7: #
8: # M68040 Software Package Copyright (c) 1993, 1994 Motorola Inc.
9: # All rights reserved.
10: #
11: # THE SOFTWARE is provided on an "AS IS" basis and without warranty.
12: # To the maximum extent permitted by applicable law,
13: # MOTOROLA DISCLAIMS ALL WARRANTIES WHETHER EXPRESS OR IMPLIED,
14: # INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A
15: # PARTICULAR PURPOSE and any warranty against infringement with
16: # regard to the SOFTWARE (INCLUDING ANY MODIFIED VERSIONS THEREOF)
17: # and any accompanying written materials.
18: #
19: # To the maximum extent permitted by applicable law,
20: # IN NO EVENT SHALL MOTOROLA BE LIABLE FOR ANY DAMAGES WHATSOEVER
21: # (INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS
22: # PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR
23: # OTHER PECUNIARY LOSS) ARISING OF THE USE OR INABILITY TO USE THE
24: # SOFTWARE. Motorola assumes no responsibility for the maintenance
25: # and support of the SOFTWARE.
26: #
27: # You are hereby granted a copyright license to use, modify, and
28: # distribute the SOFTWARE so long as this entire notice is retained
29: # without alteration in any modified and/or redistributed versions,
30: # and that such modified versions are clearly identified as such.
31: # No licenses are granted by implication, estoppel or otherwise
32: # under any patents or trademarks of Motorola, Inc.
33:
34: #
35: # Makefile 3.3 3/27/91
36: #
37: # Makefile for 68040 Floating Point Software Package
38: #
39:
40: TARGET = fpsp
41:
42: FPSPAS=${CC} -x assembler-with-cpp -traditional-cpp -c -m68040 -I${.CURDIR}
43: LD ?= ld
44:
45: #
46: # For the Library Version:
47: #
48: AR ?= ar
49: LIB_FILTER = sed 's/fpsp.defs/l_fpsp.defs/'
50: LIB_TARGET = lib$(TARGET).a
51: #
52: # SYS selects the template set to use
53: # templates are supplied for R3V6, CI5 and GEN(generic)
54: # PREFIX is a string that begins a temporary label in the assembler
55: # R3V6 uses 'L%', CI5 likes '.L'
56: #
57: #SYS = R3V6
58: #PREFIX = L%%
59: #
60: #SYS = CI5
61: #PREFIX = .L
62: #
63: #SYS = GEN
64: #PREFIX = L_
65: #
66: SYS = GCC
67: PREFIX = L_
68:
69: .SUFFIXES: .o .s .sa .defs .h
70:
71: .sa.s:
72: sh ${.CURDIR}/asm2gas ${.IMPSRC} >${.TARGET}
73: .h.defs:
74: sh ${.CURDIR}/asm2gas ${.IMPSRC} >${.TARGET}
75: .s.o:
76: $(FPSPAS) -o ${.TARGET} ${.IMPSRC}
77:
78: H_FILES = \
79: fpsp.defs \
80: l_fpsp.defs
81:
82: O_FILES = \
83: copyright.o \
84: netbsd.o \
85: bindec.o \
86: binstr.o \
87: decbin.o \
88: do_func.o \
89: gen_except.o \
90: get_op.o \
91: kernel_ex.o \
92: res_func.o \
93: round.o \
94: sacos.o \
95: sasin.o \
96: satan.o \
97: satanh.o \
98: scosh.o \
99: setox.o \
100: sgetem.o \
101: sint.o \
102: slogn.o \
103: slog2.o \
104: smovecr.o \
105: srem_mod.o \
106: scale.o \
107: ssin.o \
108: ssinh.o \
109: stan.o \
110: stanh.o \
111: sto_res.o \
112: stwotox.o \
113: tbldo.o \
114: util.o \
115: x_bsun.o \
116: x_fline.o \
117: x_operr.o \
118: x_ovfl.o \
119: x_snan.o \
120: x_store.o \
121: x_unfl.o \
122: x_unimp.o \
123: x_unsupp.o \
124: bugfix.o
125:
126: LIB_O_FILES = \
127: l_copyright.o \
128: l_entry.o \
129: l_do_func.o \
130: l_round.o \
131: l_sacos.o \
132: l_sasin.o \
133: l_satan.o \
134: l_satanh.o \
135: l_scale.o \
136: l_scosh.o \
137: l_setox.o \
138: l_sgetem.o \
139: l_sint.o \
140: l_slog2.o \
141: l_slogn.o \
142: l_srem_mod.o \
143: l_ssin.o \
144: l_ssinh.o \
145: l_stan.o \
146: l_stanh.o \
147: l_stwotox.o \
148: l_support.o
149:
150: S_FILES = \
151: netbsd.s \
152: bindec.s \
153: binstr.s \
154: decbin.s \
155: do_func.s \
156: get_op.s \
157: gen_except.s \
158: kernel_ex.s \
159: res_func.s \
160: round.s \
161: sacos.s \
162: sasin.s \
163: satan.s \
164: satanh.s \
165: scosh.s \
166: setox.s \
167: sgetem.s \
168: sint.s \
169: slogn.s \
170: slog2.s \
171: smovecr.s \
172: srem_mod.s \
173: scale.s \
174: ssin.s \
175: ssinh.s \
176: stan.s \
177: stanh.s \
178: sto_res.s \
179: stwotox.s \
180: tbldo.s \
181: util.s \
182: x_bsun.s \
183: x_fline.s \
184: x_operr.s \
185: x_ovfl.s \
186: x_snan.s \
187: x_store.s \
188: x_unfl.s \
189: x_unimp.s \
190: x_unsupp.s \
191: bugfix.s
192:
193: LIB_S_FILES = \
194: l_entry.sa l_entry.s \
195: l_do_func.s \
196: l_round.s \
197: l_sacos.s \
198: l_sasin.s \
199: l_satan.s \
200: l_satanh.s \
201: l_scale.s \
202: l_scosh.s \
203: l_setox.s \
204: l_sgetem.s \
205: l_sint.s \
206: l_slog2.s \
207: l_slogn.s \
208: l_srem_mod.s \
209: l_ssin.s \
210: l_ssinh.s \
211: l_stan.s \
212: l_stanh.s \
213: l_stwotox.s \
214: l_support.s
215:
216: #
217: # Build the target object. The linkfile is created on the fly.
218: # Change the SEG directives to suit your system.
219: #
220: $(TARGET).o: $(O_FILES)
221: $(LD) -r -o $(TARGET).o $(O_FILES)
222:
223: #
224: # Just about every file needs fpsp.h so:
225: #
226: $(O_FILES): fpsp.defs
227:
228: #
229: #-----------------------------------------------------------------------
230: #
231: # For making a library version of the FPSP:
232: #
233: library: $(LIB_TARGET)
234:
235: $(LIB_TARGET): $(LIB_O_FILES)
236: rm -f $(LIB_TARGET)
237: $(AR) crv $(LIB_TARGET) $(LIB_O_FILES)
238:
239: $(LIB_O_FILES): l_fpsp.defs
240:
241: #
242: # The entry points to the library version are created here
243: # by using two template files an awk script and a list of
244: # the entry routines for each function.
245: #
246: l_entry.sa: L_ENTRY.AWK L_LIST MONADIC.$(SYS) DYADIC.$(SYS) l_fpsp.h
247: awk -f L_ENTRY.AWK SYS=$(SYS) PREFIX=$(PREFIX) - <L_LIST|sh>l_entry.sa
248:
249: #
250: # Do_func.sa and round.sa need special editing to remove references that
251: # aren't needed in the library version. Beware that changes in
252: # the source code may cause this editing to break....
253: #
254: l_do_func.s: do_func.s
255: $(LIB_FILTER) ${.ALLSRC} >${.TARGET}
256: echo '/global.*do_func/,/^ rts/d' >.SCRIPT
257: echo 'g/smovcr/d' >>.SCRIPT
258: echo 'g/tblpre/d' >>.SCRIPT
259: echo 'w' >>.SCRIPT
260: echo 'q' >>.SCRIPT
261: ed - ${.TARGET} <.SCRIPT
262: rm .SCRIPT
263:
264: l_round.s: round.s
265: $(LIB_FILTER) ${.ALLSRC} >${.TARGET}
266: echo '/^not_E3:/-6,/^not_E3:/d' >.SCRIPT
267: echo 'w' >>.SCRIPT
268: echo 'q' >>.SCRIPT
269: ed - ${.TARGET} <.SCRIPT
270: rm .SCRIPT
271:
272: l_copyright.s: copyright.s
273: $(LIB_FILTER) ${.ALLSRC} >${.TARGET}
274:
275: l_sacos.s: sacos.s
276: $(LIB_FILTER) ${.ALLSRC} >${.TARGET}
277:
278: l_sasin.s: sasin.s
279: $(LIB_FILTER) ${.ALLSRC} >${.TARGET}
280:
281: l_satan.s: satan.s
282: $(LIB_FILTER) ${.ALLSRC} >${.TARGET}
283:
284: l_satanh.s: satanh.s
285: $(LIB_FILTER) ${.ALLSRC} >${.TARGET}
286:
287: l_scale.s: scale.s
288: $(LIB_FILTER) ${.ALLSRC} >${.TARGET}
289:
290: l_scosh.s: scosh.s
291: $(LIB_FILTER) ${.ALLSRC} >${.TARGET}
292:
293: l_setox.s: setox.s
294: $(LIB_FILTER) ${.ALLSRC} >${.TARGET}
295:
296: l_sgetem.s: sgetem.s
297: $(LIB_FILTER) ${.ALLSRC} >${.TARGET}
298:
299: l_sint.s: sint.s
300: $(LIB_FILTER) ${.ALLSRC} >${.TARGET}
301:
302: l_slog2.s: slog2.s
303: $(LIB_FILTER) ${.ALLSRC} >${.TARGET}
304:
305: l_slogn.s: slogn.s
306: $(LIB_FILTER) ${.ALLSRC} >${.TARGET}
307:
308: l_srem_mod.s: srem_mod.s
309: $(LIB_FILTER) ${.ALLSRC} >${.TARGET}
310:
311: l_ssin.s: ssin.s
312: $(LIB_FILTER) ${.ALLSRC} >${.TARGET}
313:
314: l_ssinh.s: ssinh.s
315: $(LIB_FILTER) ${.ALLSRC} >${.TARGET}
316:
317: l_stan.s: stan.s
318: $(LIB_FILTER) ${.ALLSRC} >${.TARGET}
319:
320: l_stanh.s: stanh.s
321: $(LIB_FILTER) ${.ALLSRC} >${.TARGET}
322:
323: l_stwotox.s: stwotox.s
324: $(LIB_FILTER) ${.ALLSRC} >${.TARGET}
325:
326: #
327: # Extract all files from SCCS directory
328: #
329: clean cleandir:
330: rm -f $(H_FILES)
331: rm -f $(S_FILES)
332: rm -f $(O_FILES)
333: rm -f $(TARGET).o
334: rm -f $(LIB_S_FILES)
335: rm -f $(LIB_O_FILES)
336: rm -f $(LIB_TARGET)
337:
338: clobber: clean
339:
340: _SUBDIRUSE:
341:
342: all:
343:
344: depend:
345:
346: install:
347:
348: includes:
349:
350: .include <bsd.obj.mk>
351: .include <bsd.own.mk>
CVSweb