Annotation of sys/arch/m68k/fpsp/Makefile, Revision 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