Makefile revision 1.3
11.1Smycroft# MOTOROLA MICROPROCESSOR & MEMORY TECHNOLOGY GROUP 21.1Smycroft# M68000 Hi-Performance Microprocessor Division 31.1Smycroft# M68040 Software Package 41.1Smycroft# 51.1Smycroft# M68040 Software Package Copyright (c) 1993, 1994 Motorola Inc. 61.1Smycroft# All rights reserved. 71.1Smycroft# 81.1Smycroft# THE SOFTWARE is provided on an "AS IS" basis and without warranty. 91.1Smycroft# To the maximum extent permitted by applicable law, 101.1Smycroft# MOTOROLA DISCLAIMS ALL WARRANTIES WHETHER EXPRESS OR IMPLIED, 111.1Smycroft# INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A 121.1Smycroft# PARTICULAR PURPOSE and any warranty against infringement with 131.1Smycroft# regard to the SOFTWARE (INCLUDING ANY MODIFIED VERSIONS THEREOF) 141.1Smycroft# and any accompanying written materials. 151.1Smycroft# 161.1Smycroft# To the maximum extent permitted by applicable law, 171.1Smycroft# IN NO EVENT SHALL MOTOROLA BE LIABLE FOR ANY DAMAGES WHATSOEVER 181.1Smycroft# (INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS 191.1Smycroft# PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR 201.1Smycroft# OTHER PECUNIARY LOSS) ARISING OF THE USE OR INABILITY TO USE THE 211.1Smycroft# SOFTWARE. Motorola assumes no responsibility for the maintenance 221.1Smycroft# and support of the SOFTWARE. 231.1Smycroft# 241.1Smycroft# You are hereby granted a copyright license to use, modify, and 251.1Smycroft# distribute the SOFTWARE so long as this entire notice is retained 261.1Smycroft# without alteration in any modified and/or redistributed versions, 271.1Smycroft# and that such modified versions are clearly identified as such. 281.1Smycroft# No licenses are granted by implication, estoppel or otherwise 291.1Smycroft# under any patents or trademarks of Motorola, Inc. 301.1Smycroft 311.1Smycroft# 321.1Smycroft# Makefile 3.3 3/27/91 331.1Smycroft# 341.1Smycroft# Makefile for 68040 Floating Point Software Package 351.1Smycroft# 361.1Smycroft 371.2SmycroftTARGET = fpsp 381.1Smycroft 391.2SmycroftAS = as -m68040 401.2SmycroftLD = ld 411.1Smycroft 421.1Smycroft# 431.1Smycroft# For the Library Version: 441.1Smycroft# 451.1SmycroftAR = ar 461.2SmycroftLIB_FILTER = sed 's/fpsp.defs/l_fpsp.defs/' 471.2SmycroftLIB_TARGET = lib$(TARGET).a 481.1Smycroft# 491.1Smycroft# SYS selects the template set to use 501.1Smycroft# templates are supplied for R3V6, CI5 and GEN(generic) 511.1Smycroft# PREFIX is a string that begins a temporary label in the assembler 521.1Smycroft# R3V6 uses 'L%', CI5 likes '.L' 531.1Smycroft# 541.1Smycroft#SYS = R3V6 551.1Smycroft#PREFIX = L%% 561.1Smycroft# 571.1Smycroft#SYS = CI5 581.1Smycroft#PREFIX = .L 591.1Smycroft# 601.2Smycroft#SYS = GEN 611.2Smycroft#PREFIX = L_ 621.2Smycroft# 631.2SmycroftSYS = GCC 641.1SmycroftPREFIX = L_ 651.1Smycroft 661.2Smycroft.SUFFIXES: .o .s .sa .defs .h 671.1Smycroft 681.1Smycroft.sa.s: 691.3Smycroft sh ${.CURDIR}/asm2gas ${.IMPSRC} >${.TARGET} 701.2Smycroft.h.defs: 711.3Smycroft sh ${.CURDIR}/asm2gas ${.IMPSRC} >${.TARGET} 721.2Smycroft.s.o: 731.3Smycroft $(AS) -o ${.TARGET} ${.IMPSRC} 741.1Smycroft 751.2SmycroftH_FILES = \ 761.2Smycroft fpsp.defs \ 771.2Smycroft l_fpsp.defs 781.1Smycroft 791.2SmycroftO_FILES = \ 801.3Smycroft copyright.o \ 811.2Smycroft netbsd.o \ 821.2Smycroft bindec.o \ 831.2Smycroft binstr.o \ 841.2Smycroft decbin.o \ 851.2Smycroft do_func.o \ 861.2Smycroft gen_except.o \ 871.2Smycroft get_op.o \ 881.2Smycroft kernel_ex.o \ 891.2Smycroft res_func.o \ 901.2Smycroft round.o \ 911.2Smycroft sacos.o \ 921.2Smycroft sasin.o \ 931.2Smycroft satan.o \ 941.2Smycroft satanh.o \ 951.2Smycroft scosh.o \ 961.2Smycroft setox.o \ 971.2Smycroft sgetem.o \ 981.2Smycroft sint.o \ 991.2Smycroft slogn.o \ 1001.2Smycroft slog2.o \ 1011.2Smycroft smovecr.o \ 1021.2Smycroft srem_mod.o \ 1031.2Smycroft scale.o \ 1041.2Smycroft ssin.o \ 1051.2Smycroft ssinh.o \ 1061.2Smycroft stan.o \ 1071.2Smycroft stanh.o \ 1081.2Smycroft sto_res.o \ 1091.2Smycroft stwotox.o \ 1101.2Smycroft tbldo.o \ 1111.2Smycroft util.o \ 1121.2Smycroft x_bsun.o \ 1131.2Smycroft x_fline.o \ 1141.2Smycroft x_operr.o \ 1151.2Smycroft x_ovfl.o \ 1161.2Smycroft x_snan.o \ 1171.2Smycroft x_store.o \ 1181.2Smycroft x_unfl.o \ 1191.2Smycroft x_unimp.o \ 1201.2Smycroft x_unsupp.o \ 1211.2Smycroft bugfix.o 1221.2Smycroft 1231.2SmycroftLIB_O_FILES = \ 1241.3Smycroft l_copyright.o \ 1251.2Smycroft l_entry.o \ 1261.2Smycroft l_do_func.o \ 1271.2Smycroft l_round.o \ 1281.2Smycroft l_sacos.o \ 1291.2Smycroft l_sasin.o \ 1301.2Smycroft l_satan.o \ 1311.2Smycroft l_satanh.o \ 1321.2Smycroft l_scale.o \ 1331.2Smycroft l_scosh.o \ 1341.2Smycroft l_setox.o \ 1351.2Smycroft l_sgetem.o \ 1361.2Smycroft l_sint.o \ 1371.2Smycroft l_slog2.o \ 1381.2Smycroft l_slogn.o \ 1391.2Smycroft l_srem_mod.o \ 1401.2Smycroft l_ssin.o \ 1411.2Smycroft l_ssinh.o \ 1421.2Smycroft l_stan.o \ 1431.2Smycroft l_stanh.o \ 1441.2Smycroft l_stwotox.o \ 1451.2Smycroft l_support.o 1461.1Smycroft 1471.2SmycroftS_FILES = \ 1481.2Smycroft netbsd.s \ 1491.1Smycroft bindec.s \ 1501.1Smycroft binstr.s \ 1511.1Smycroft decbin.s \ 1521.1Smycroft do_func.s \ 1531.1Smycroft get_op.s \ 1541.1Smycroft gen_except.s \ 1551.1Smycroft kernel_ex.s \ 1561.1Smycroft res_func.s \ 1571.1Smycroft round.s \ 1581.1Smycroft sacos.s \ 1591.1Smycroft sasin.s \ 1601.1Smycroft satan.s \ 1611.1Smycroft satanh.s \ 1621.1Smycroft scosh.s \ 1631.1Smycroft setox.s \ 1641.1Smycroft sgetem.s \ 1651.1Smycroft sint.s \ 1661.1Smycroft slogn.s \ 1671.1Smycroft slog2.s \ 1681.1Smycroft smovecr.s \ 1691.1Smycroft srem_mod.s \ 1701.1Smycroft scale.s \ 1711.1Smycroft ssin.s \ 1721.1Smycroft ssinh.s \ 1731.1Smycroft stan.s \ 1741.1Smycroft stanh.s \ 1751.1Smycroft sto_res.s \ 1761.1Smycroft stwotox.s \ 1771.1Smycroft tbldo.s \ 1781.1Smycroft util.s \ 1791.1Smycroft x_bsun.s \ 1801.1Smycroft x_fline.s \ 1811.1Smycroft x_operr.s \ 1821.1Smycroft x_ovfl.s \ 1831.1Smycroft x_snan.s \ 1841.1Smycroft x_store.s \ 1851.1Smycroft x_unfl.s \ 1861.1Smycroft x_unimp.s \ 1871.1Smycroft x_unsupp.s \ 1881.2Smycroft bugfix.s 1891.2Smycroft 1901.2SmycroftLIB_S_FILES = \ 1911.2Smycroft l_entry.sa l_entry.s \ 1921.1Smycroft l_do_func.s \ 1931.1Smycroft l_round.s \ 1941.1Smycroft l_sacos.s \ 1951.1Smycroft l_sasin.s \ 1961.1Smycroft l_satan.s \ 1971.1Smycroft l_satanh.s \ 1981.1Smycroft l_scale.s \ 1991.1Smycroft l_scosh.s \ 2001.1Smycroft l_setox.s \ 2011.1Smycroft l_sgetem.s \ 2021.1Smycroft l_sint.s \ 2031.1Smycroft l_slog2.s \ 2041.1Smycroft l_slogn.s \ 2051.1Smycroft l_srem_mod.s \ 2061.1Smycroft l_ssin.s \ 2071.1Smycroft l_ssinh.s \ 2081.1Smycroft l_stan.s \ 2091.1Smycroft l_stanh.s \ 2101.1Smycroft l_stwotox.s \ 2111.2Smycroft l_support.s 2121.1Smycroft 2131.1Smycroft# 2141.1Smycroft# Build the target object. The linkfile is created on the fly. 2151.1Smycroft# Change the SEG directives to suit your system. 2161.1Smycroft# 2171.2Smycroft$(TARGET).o: $(O_FILES) 2181.2Smycroft $(LD) -r -o $(TARGET).o $(O_FILES) 2191.1Smycroft 2201.1Smycroft# 2211.1Smycroft# Just about every file needs fpsp.h so: 2221.1Smycroft# 2231.2Smycroft$(O_FILES): fpsp.defs 2241.1Smycroft 2251.1Smycroft# 2261.1Smycroft#----------------------------------------------------------------------- 2271.1Smycroft# 2281.1Smycroft# For making a library version of the FPSP: 2291.1Smycroft# 2301.1Smycroftlibrary: $(LIB_TARGET) 2311.1Smycroft 2321.2Smycroft$(LIB_TARGET): $(LIB_O_FILES) 2331.1Smycroft rm -f $(LIB_TARGET) 2341.2Smycroft $(AR) crv $(LIB_TARGET) $(LIB_O_FILES) 2351.1Smycroft 2361.2Smycroft$(LIB_O_FILES): l_fpsp.defs 2371.1Smycroft 2381.1Smycroft# 2391.1Smycroft# The entry points to the library version are created here 2401.1Smycroft# by using two template files an awk script and a list of 2411.1Smycroft# the entry routines for each function. 2421.1Smycroft# 2431.1Smycroftl_entry.sa: L_ENTRY.AWK L_LIST MONADIC.$(SYS) DYADIC.$(SYS) l_fpsp.h 2441.1Smycroft awk -f L_ENTRY.AWK SYS=$(SYS) PREFIX=$(PREFIX) - <L_LIST|sh>l_entry.sa 2451.1Smycroft 2461.1Smycroft# 2471.1Smycroft# Do_func.sa and round.sa need special editing to remove references that 2481.1Smycroft# aren't needed in the library version. Beware that changes in 2491.1Smycroft# the source code may cause this editing to break.... 2501.1Smycroft# 2511.2Smycroftl_do_func.s: do_func.s 2521.3Smycroft $(LIB_FILTER) ${.ALLSRC} >${.TARGET} 2531.2Smycroft echo '/global.*do_func/,/^ rts/d' >.SCRIPT 2541.1Smycroft echo 'g/smovcr/d' >>.SCRIPT 2551.1Smycroft echo 'g/tblpre/d' >>.SCRIPT 2561.1Smycroft echo 'w' >>.SCRIPT 2571.1Smycroft echo 'q' >>.SCRIPT 2581.3Smycroft ed - ${.TARGET} <.SCRIPT 2591.1Smycroft rm .SCRIPT 2601.1Smycroft 2611.2Smycroftl_round.s: round.s 2621.3Smycroft $(LIB_FILTER) ${.ALLSRC} >${.TARGET} 2631.1Smycroft echo '/^not_E3:/-6,/^not_E3:/d' >.SCRIPT 2641.1Smycroft echo 'w' >>.SCRIPT 2651.1Smycroft echo 'q' >>.SCRIPT 2661.3Smycroft ed - ${.TARGET} <.SCRIPT 2671.1Smycroft rm .SCRIPT 2681.1Smycroft 2691.3Smycroftl_copyright.s: copyright.s 2701.3Smycroft $(LIB_FILTER) ${.ALLSRC} >${.TARGET} 2711.3Smycroft 2721.2Smycroftl_sacos.s: sacos.s 2731.3Smycroft $(LIB_FILTER) ${.ALLSRC} >${.TARGET} 2741.1Smycroft 2751.2Smycroftl_sasin.s: sasin.s 2761.3Smycroft $(LIB_FILTER) ${.ALLSRC} >${.TARGET} 2771.1Smycroft 2781.2Smycroftl_satan.s: satan.s 2791.3Smycroft $(LIB_FILTER) ${.ALLSRC} >${.TARGET} 2801.1Smycroft 2811.2Smycroftl_satanh.s: satanh.s 2821.3Smycroft $(LIB_FILTER) ${.ALLSRC} >${.TARGET} 2831.1Smycroft 2841.2Smycroftl_scale.s: scale.s 2851.3Smycroft $(LIB_FILTER) ${.ALLSRC} >${.TARGET} 2861.1Smycroft 2871.2Smycroftl_scosh.s: scosh.s 2881.3Smycroft $(LIB_FILTER) ${.ALLSRC} >${.TARGET} 2891.1Smycroft 2901.2Smycroftl_setox.s: setox.s 2911.3Smycroft $(LIB_FILTER) ${.ALLSRC} >${.TARGET} 2921.1Smycroft 2931.2Smycroftl_sgetem.s: sgetem.s 2941.3Smycroft $(LIB_FILTER) ${.ALLSRC} >${.TARGET} 2951.1Smycroft 2961.2Smycroftl_sint.s: sint.s 2971.3Smycroft $(LIB_FILTER) ${.ALLSRC} >${.TARGET} 2981.1Smycroft 2991.2Smycroftl_slog2.s: slog2.s 3001.3Smycroft $(LIB_FILTER) ${.ALLSRC} >${.TARGET} 3011.1Smycroft 3021.2Smycroftl_slogn.s: slogn.s 3031.3Smycroft $(LIB_FILTER) ${.ALLSRC} >${.TARGET} 3041.1Smycroft 3051.2Smycroftl_srem_mod.s: srem_mod.s 3061.3Smycroft $(LIB_FILTER) ${.ALLSRC} >${.TARGET} 3071.1Smycroft 3081.2Smycroftl_ssin.s: ssin.s 3091.3Smycroft $(LIB_FILTER) ${.ALLSRC} >${.TARGET} 3101.1Smycroft 3111.2Smycroftl_ssinh.s: ssinh.s 3121.3Smycroft $(LIB_FILTER) ${.ALLSRC} >${.TARGET} 3131.1Smycroft 3141.2Smycroftl_stan.s: stan.s 3151.3Smycroft $(LIB_FILTER) ${.ALLSRC} >${.TARGET} 3161.1Smycroft 3171.2Smycroftl_stanh.s: stanh.s 3181.3Smycroft $(LIB_FILTER) ${.ALLSRC} >${.TARGET} 3191.1Smycroft 3201.2Smycroftl_stwotox.s: stwotox.s 3211.3Smycroft $(LIB_FILTER) ${.ALLSRC} >${.TARGET} 3221.1Smycroft 3231.1Smycroft# 3241.1Smycroft# Extract all files from SCCS directory 3251.1Smycroft# 3261.1Smycroftclean: 3271.2Smycroft rm -f $(H_FILES) 3281.2Smycroft rm -f $(S_FILES) 3291.2Smycroft rm -f $(O_FILES) 3301.2Smycroft rm -f $(TARGET).o 3311.2Smycroft rm -f $(LIB_S_FILES) 3321.2Smycroft rm -f $(LIB_O_FILES) 3331.2Smycroft rm -f $(LIB_TARGET) 3341.1Smycroft 3351.1Smycroftclobber: clean 3361.1Smycroft 337