Makefile revision 1.2
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.2Smycroft sh ${.CURDIR}/asm2gas ${.CURDIR}/$*.sa >$*.s 701.2Smycroft.h.defs: 711.2Smycroft sh ${.CURDIR}/asm2gas ${.CURDIR}/$*.h >$*.defs 721.2Smycroft.s.o: 731.2Smycroft $(AS) -o $*.o $*.s 741.1Smycroft 751.2SmycroftH_FILES = \ 761.2Smycroft fpsp.defs \ 771.2Smycroft l_fpsp.defs 781.1Smycroft 791.2SmycroftO_FILES = \ 801.2Smycroft netbsd.o \ 811.2Smycroft bindec.o \ 821.2Smycroft binstr.o \ 831.2Smycroft decbin.o \ 841.2Smycroft do_func.o \ 851.2Smycroft gen_except.o \ 861.2Smycroft get_op.o \ 871.2Smycroft kernel_ex.o \ 881.2Smycroft res_func.o \ 891.2Smycroft round.o \ 901.2Smycroft sacos.o \ 911.2Smycroft sasin.o \ 921.2Smycroft satan.o \ 931.2Smycroft satanh.o \ 941.2Smycroft scosh.o \ 951.2Smycroft setox.o \ 961.2Smycroft sgetem.o \ 971.2Smycroft sint.o \ 981.2Smycroft slogn.o \ 991.2Smycroft slog2.o \ 1001.2Smycroft smovecr.o \ 1011.2Smycroft srem_mod.o \ 1021.2Smycroft scale.o \ 1031.2Smycroft ssin.o \ 1041.2Smycroft ssinh.o \ 1051.2Smycroft stan.o \ 1061.2Smycroft stanh.o \ 1071.2Smycroft sto_res.o \ 1081.2Smycroft stwotox.o \ 1091.2Smycroft tbldo.o \ 1101.2Smycroft util.o \ 1111.2Smycroft x_bsun.o \ 1121.2Smycroft x_fline.o \ 1131.2Smycroft x_operr.o \ 1141.2Smycroft x_ovfl.o \ 1151.2Smycroft x_snan.o \ 1161.2Smycroft x_store.o \ 1171.2Smycroft x_unfl.o \ 1181.2Smycroft x_unimp.o \ 1191.2Smycroft x_unsupp.o \ 1201.2Smycroft bugfix.o 1211.2Smycroft 1221.2SmycroftLIB_O_FILES = \ 1231.2Smycroft l_entry.o \ 1241.2Smycroft l_do_func.o \ 1251.2Smycroft l_round.o \ 1261.2Smycroft l_sacos.o \ 1271.2Smycroft l_sasin.o \ 1281.2Smycroft l_satan.o \ 1291.2Smycroft l_satanh.o \ 1301.2Smycroft l_scale.o \ 1311.2Smycroft l_scosh.o \ 1321.2Smycroft l_setox.o \ 1331.2Smycroft l_sgetem.o \ 1341.2Smycroft l_sint.o \ 1351.2Smycroft l_slog2.o \ 1361.2Smycroft l_slogn.o \ 1371.2Smycroft l_srem_mod.o \ 1381.2Smycroft l_ssin.o \ 1391.2Smycroft l_ssinh.o \ 1401.2Smycroft l_stan.o \ 1411.2Smycroft l_stanh.o \ 1421.2Smycroft l_stwotox.o \ 1431.2Smycroft l_support.o 1441.1Smycroft 1451.2SmycroftS_FILES = \ 1461.2Smycroft netbsd.s \ 1471.1Smycroft bindec.s \ 1481.1Smycroft binstr.s \ 1491.1Smycroft decbin.s \ 1501.1Smycroft do_func.s \ 1511.1Smycroft get_op.s \ 1521.1Smycroft gen_except.s \ 1531.1Smycroft kernel_ex.s \ 1541.1Smycroft res_func.s \ 1551.1Smycroft round.s \ 1561.1Smycroft sacos.s \ 1571.1Smycroft sasin.s \ 1581.1Smycroft satan.s \ 1591.1Smycroft satanh.s \ 1601.1Smycroft scosh.s \ 1611.1Smycroft setox.s \ 1621.1Smycroft sgetem.s \ 1631.1Smycroft sint.s \ 1641.1Smycroft slogn.s \ 1651.1Smycroft slog2.s \ 1661.1Smycroft smovecr.s \ 1671.1Smycroft srem_mod.s \ 1681.1Smycroft scale.s \ 1691.1Smycroft ssin.s \ 1701.1Smycroft ssinh.s \ 1711.1Smycroft stan.s \ 1721.1Smycroft stanh.s \ 1731.1Smycroft sto_res.s \ 1741.1Smycroft stwotox.s \ 1751.1Smycroft tbldo.s \ 1761.1Smycroft util.s \ 1771.1Smycroft x_bsun.s \ 1781.1Smycroft x_fline.s \ 1791.1Smycroft x_operr.s \ 1801.1Smycroft x_ovfl.s \ 1811.1Smycroft x_snan.s \ 1821.1Smycroft x_store.s \ 1831.1Smycroft x_unfl.s \ 1841.1Smycroft x_unimp.s \ 1851.1Smycroft x_unsupp.s \ 1861.2Smycroft bugfix.s 1871.2Smycroft 1881.2SmycroftLIB_S_FILES = \ 1891.2Smycroft l_entry.sa l_entry.s \ 1901.1Smycroft l_do_func.s \ 1911.1Smycroft l_round.s \ 1921.1Smycroft l_sacos.s \ 1931.1Smycroft l_sasin.s \ 1941.1Smycroft l_satan.s \ 1951.1Smycroft l_satanh.s \ 1961.1Smycroft l_scale.s \ 1971.1Smycroft l_scosh.s \ 1981.1Smycroft l_setox.s \ 1991.1Smycroft l_sgetem.s \ 2001.1Smycroft l_sint.s \ 2011.1Smycroft l_slog2.s \ 2021.1Smycroft l_slogn.s \ 2031.1Smycroft l_srem_mod.s \ 2041.1Smycroft l_ssin.s \ 2051.1Smycroft l_ssinh.s \ 2061.1Smycroft l_stan.s \ 2071.1Smycroft l_stanh.s \ 2081.1Smycroft l_stwotox.s \ 2091.2Smycroft l_support.s 2101.1Smycroft 2111.1Smycroft# 2121.1Smycroft# Build the target object. The linkfile is created on the fly. 2131.1Smycroft# Change the SEG directives to suit your system. 2141.1Smycroft# 2151.2Smycroft$(TARGET).o: $(O_FILES) 2161.2Smycroft $(LD) -r -o $(TARGET).o $(O_FILES) 2171.1Smycroft 2181.1Smycroft# 2191.1Smycroft# Just about every file needs fpsp.h so: 2201.1Smycroft# 2211.2Smycroft$(O_FILES): fpsp.defs 2221.1Smycroft 2231.1Smycroft# 2241.1Smycroft#----------------------------------------------------------------------- 2251.1Smycroft# 2261.1Smycroft# For making a library version of the FPSP: 2271.1Smycroft# 2281.1Smycroftlibrary: $(LIB_TARGET) 2291.1Smycroft 2301.2Smycroft$(LIB_TARGET): $(LIB_O_FILES) 2311.1Smycroft rm -f $(LIB_TARGET) 2321.2Smycroft $(AR) crv $(LIB_TARGET) $(LIB_O_FILES) 2331.1Smycroft 2341.2Smycroft$(LIB_O_FILES): l_fpsp.defs 2351.1Smycroft 2361.1Smycroft# 2371.1Smycroft# The entry points to the library version are created here 2381.1Smycroft# by using two template files an awk script and a list of 2391.1Smycroft# the entry routines for each function. 2401.1Smycroft# 2411.1Smycroftl_entry.sa: L_ENTRY.AWK L_LIST MONADIC.$(SYS) DYADIC.$(SYS) l_fpsp.h 2421.1Smycroft awk -f L_ENTRY.AWK SYS=$(SYS) PREFIX=$(PREFIX) - <L_LIST|sh>l_entry.sa 2431.1Smycroft 2441.1Smycroft# 2451.1Smycroft# Do_func.sa and round.sa need special editing to remove references that 2461.1Smycroft# aren't needed in the library version. Beware that changes in 2471.1Smycroft# the source code may cause this editing to break.... 2481.1Smycroft# 2491.2Smycroftl_do_func.s: do_func.s 2501.2Smycroft $(LIB_FILTER) do_func.s >l_do_func.s 2511.2Smycroft echo '/global.*do_func/,/^ rts/d' >.SCRIPT 2521.1Smycroft echo 'g/smovcr/d' >>.SCRIPT 2531.1Smycroft echo 'g/tblpre/d' >>.SCRIPT 2541.1Smycroft echo 'w' >>.SCRIPT 2551.1Smycroft echo 'q' >>.SCRIPT 2561.2Smycroft ed - l_do_func.s <.SCRIPT 2571.1Smycroft rm .SCRIPT 2581.1Smycroft 2591.2Smycroftl_round.s: round.s 2601.2Smycroft $(LIB_FILTER) round.s >l_round.s 2611.1Smycroft echo '/^not_E3:/-6,/^not_E3:/d' >.SCRIPT 2621.1Smycroft echo 'w' >>.SCRIPT 2631.1Smycroft echo 'q' >>.SCRIPT 2641.2Smycroft ed - l_round.s <.SCRIPT 2651.1Smycroft rm .SCRIPT 2661.1Smycroft 2671.2Smycroftl_sacos.s: sacos.s 2681.2Smycroft $(LIB_FILTER) sacos.s >l_sacos.s 2691.1Smycroft 2701.2Smycroftl_sasin.s: sasin.s 2711.2Smycroft $(LIB_FILTER) sasin.s >l_sasin.s 2721.1Smycroft 2731.2Smycroftl_satan.s: satan.s 2741.2Smycroft $(LIB_FILTER) satan.s >l_satan.s 2751.1Smycroft 2761.2Smycroftl_satanh.s: satanh.s 2771.2Smycroft $(LIB_FILTER) satanh.s >l_satanh.s 2781.1Smycroft 2791.2Smycroftl_scale.s: scale.s 2801.2Smycroft $(LIB_FILTER) scale.s >l_scale.s 2811.1Smycroft 2821.2Smycroftl_scosh.s: scosh.s 2831.2Smycroft $(LIB_FILTER) scosh.s >l_scosh.s 2841.1Smycroft 2851.2Smycroftl_setox.s: setox.s 2861.2Smycroft $(LIB_FILTER) setox.s >l_setox.s 2871.1Smycroft 2881.2Smycroftl_sgetem.s: sgetem.s 2891.2Smycroft $(LIB_FILTER) sgetem.s >l_sgetem.s 2901.1Smycroft 2911.2Smycroftl_sint.s: sint.s 2921.2Smycroft $(LIB_FILTER) sint.s >l_sint.s 2931.1Smycroft 2941.2Smycroftl_slog2.s: slog2.s 2951.2Smycroft $(LIB_FILTER) slog2.s >l_slog2.s 2961.1Smycroft 2971.2Smycroftl_slogn.s: slogn.s 2981.2Smycroft $(LIB_FILTER) slogn.s >l_slogn.s 2991.1Smycroft 3001.2Smycroftl_srem_mod.s: srem_mod.s 3011.2Smycroft $(LIB_FILTER) srem_mod.s >l_srem_mod.s 3021.1Smycroft 3031.2Smycroftl_ssin.s: ssin.s 3041.2Smycroft $(LIB_FILTER) ssin.s >l_ssin.s 3051.1Smycroft 3061.2Smycroftl_ssinh.s: ssinh.s 3071.2Smycroft $(LIB_FILTER) ssinh.s >l_ssinh.s 3081.1Smycroft 3091.2Smycroftl_stan.s: stan.s 3101.2Smycroft $(LIB_FILTER) stan.s >l_stan.s 3111.1Smycroft 3121.2Smycroftl_stanh.s: stanh.s 3131.2Smycroft $(LIB_FILTER) stanh.s >l_stanh.s 3141.1Smycroft 3151.2Smycroftl_stwotox.s: stwotox.s 3161.2Smycroft $(LIB_FILTER) stwotox.s >l_stwotox.s 3171.1Smycroft 3181.1Smycroft# 3191.1Smycroft# Extract all files from SCCS directory 3201.1Smycroft# 3211.1Smycroftclean: 3221.2Smycroft rm -f $(H_FILES) 3231.2Smycroft rm -f $(S_FILES) 3241.2Smycroft rm -f $(O_FILES) 3251.2Smycroft rm -f $(TARGET).o 3261.2Smycroft rm -f $(LIB_S_FILES) 3271.2Smycroft rm -f $(LIB_O_FILES) 3281.2Smycroft rm -f $(LIB_TARGET) 3291.1Smycroft 3301.1Smycroftclobber: clean 3311.1Smycroft 332