Makefile revision 1.1
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.1SmycroftTARGET = FPSP 381.1Smycroft 391.1SmycroftASM = ./pasm 401.1SmycroftASMOPTS = +p=68020/68881 +l +C +M 411.1SmycroftPLINK = ./plink 421.1SmycroftPLINKOPTS = dummy +q$(TARGET) +w32 +x +i +m$(TARGET).linkmap 431.1Smycroft 441.1Smycroft# 451.1Smycroft# For the Library Version: 461.1Smycroft# 471.1SmycroftAR = ar 481.1SmycroftLIB_FILTER = sed 's/fpsp.h/l_fpsp.h/' 491.1SmycroftLIB_TARGET = libFPSP.a 501.1Smycroft# 511.1Smycroft# SYS selects the template set to use 521.1Smycroft# templates are supplied for R3V6, CI5 and GEN(generic) 531.1Smycroft# PREFIX is a string that begins a temporary label in the assembler 541.1Smycroft# R3V6 uses 'L%', CI5 likes '.L' 551.1Smycroft# 561.1Smycroft#SYS = R3V6 571.1Smycroft#PREFIX = L%% 581.1Smycroft# 591.1Smycroft#SYS = CI5 601.1Smycroft#PREFIX = .L 611.1Smycroft# 621.1SmycroftSYS = GEN 631.1SmycroftPREFIX = L_ 641.1Smycroft 651.1Smycroft.SUFFIXES: .s .s~ .sa .sa~ .ro .h .h~ 661.1Smycroft 671.1Smycroft.sa.ro: 681.1Smycroft $(ASM) $(ASMOPTS) $*.sa 691.1Smycroft 701.1Smycroft.sa~.ro: 711.1Smycroft sccs get SCCS/s.$*.sa 721.1Smycroft $(ASM) $(ASMOPTS) $*.sa 731.1Smycroft rm -f $*.sa 741.1Smycroft 751.1Smycroft.sa.s: 761.1Smycroft asm2as $*.sa >$*.s 771.1Smycroft 781.1Smycroft.sa~.sa: 791.1Smycroft sccs get SCCS/s.$*.sa 801.1Smycroft 811.1Smycroft.s~.s: 821.1Smycroft sccs get SCCS/s.$*.s 831.1Smycroft 841.1Smycroft.h~.h: 851.1Smycroft sccs get SCCS/s.$*.h 861.1Smycroft 871.1SmycroftRO_FILES = \ 881.1Smycroft skeleton.ro \ 891.1Smycroft bindec.ro \ 901.1Smycroft binstr.ro \ 911.1Smycroft decbin.ro \ 921.1Smycroft do_func.ro \ 931.1Smycroft gen_except.ro \ 941.1Smycroft get_op.ro \ 951.1Smycroft kernel_ex.ro \ 961.1Smycroft res_func.ro \ 971.1Smycroft round.ro \ 981.1Smycroft sacos.ro \ 991.1Smycroft sasin.ro \ 1001.1Smycroft satan.ro \ 1011.1Smycroft satanh.ro \ 1021.1Smycroft scosh.ro \ 1031.1Smycroft setox.ro \ 1041.1Smycroft sgetem.ro \ 1051.1Smycroft sint.ro \ 1061.1Smycroft slogn.ro \ 1071.1Smycroft slog2.ro \ 1081.1Smycroft smovecr.ro \ 1091.1Smycroft srem_mod.ro \ 1101.1Smycroft scale.ro \ 1111.1Smycroft ssin.ro \ 1121.1Smycroft ssinh.ro \ 1131.1Smycroft stan.ro \ 1141.1Smycroft stanh.ro \ 1151.1Smycroft sto_res.ro \ 1161.1Smycroft stwotox.ro \ 1171.1Smycroft tbldo.ro \ 1181.1Smycroft util.ro \ 1191.1Smycroft x_bsun.ro \ 1201.1Smycroft x_fline.ro \ 1211.1Smycroft x_operr.ro \ 1221.1Smycroft x_ovfl.ro \ 1231.1Smycroft x_snan.ro \ 1241.1Smycroft x_store.ro \ 1251.1Smycroft x_unfl.ro \ 1261.1Smycroft x_unimp.ro \ 1271.1Smycroft x_unsupp.ro \ 1281.1Smycroft bugfix.ro \ 1291.1Smycroft FPSP.ro 1301.1Smycroft 1311.1SmycroftLIB_RO_FILES = \ 1321.1Smycroft l_entry.ro \ 1331.1Smycroft l_do_func.ro \ 1341.1Smycroft l_round.ro \ 1351.1Smycroft l_sacos.ro \ 1361.1Smycroft l_sasin.ro \ 1371.1Smycroft l_satan.ro \ 1381.1Smycroft l_satanh.ro \ 1391.1Smycroft l_scale.ro \ 1401.1Smycroft l_scosh.ro \ 1411.1Smycroft l_setox.ro \ 1421.1Smycroft l_sgetem.ro \ 1431.1Smycroft l_sint.ro \ 1441.1Smycroft l_slog2.ro \ 1451.1Smycroft l_slogn.ro \ 1461.1Smycroft l_srem_mod.ro \ 1471.1Smycroft l_ssin.ro \ 1481.1Smycroft l_ssinh.ro \ 1491.1Smycroft l_stan.ro \ 1501.1Smycroft l_stanh.ro \ 1511.1Smycroft l_stwotox.ro \ 1521.1Smycroft l_support.ro 1531.1Smycroft 1541.1SmycroftSA_FILES = \ 1551.1Smycroft skeleton.sa \ 1561.1Smycroft bindec.sa \ 1571.1Smycroft binstr.sa \ 1581.1Smycroft decbin.sa \ 1591.1Smycroft do_func.sa \ 1601.1Smycroft get_op.sa \ 1611.1Smycroft gen_except.sa \ 1621.1Smycroft kernel_ex.sa \ 1631.1Smycroft res_func.sa \ 1641.1Smycroft round.sa \ 1651.1Smycroft sacos.sa \ 1661.1Smycroft sasin.sa \ 1671.1Smycroft satan.sa \ 1681.1Smycroft satanh.sa \ 1691.1Smycroft scosh.sa \ 1701.1Smycroft setox.sa \ 1711.1Smycroft sgetem.sa \ 1721.1Smycroft sint.sa \ 1731.1Smycroft slogn.sa \ 1741.1Smycroft slog2.sa \ 1751.1Smycroft smovecr.sa \ 1761.1Smycroft srem_mod.sa \ 1771.1Smycroft scale.sa \ 1781.1Smycroft ssin.sa \ 1791.1Smycroft ssinh.sa \ 1801.1Smycroft stan.sa \ 1811.1Smycroft stanh.sa \ 1821.1Smycroft sto_res.sa \ 1831.1Smycroft stwotox.sa \ 1841.1Smycroft tbldo.sa \ 1851.1Smycroft util.sa \ 1861.1Smycroft x_bsun.sa \ 1871.1Smycroft x_fline.sa \ 1881.1Smycroft x_operr.sa \ 1891.1Smycroft x_ovfl.sa \ 1901.1Smycroft x_snan.sa \ 1911.1Smycroft x_store.sa \ 1921.1Smycroft x_unfl.sa \ 1931.1Smycroft x_unimp.sa \ 1941.1Smycroft x_unsupp.sa \ 1951.1Smycroft bugfix.sa \ 1961.1Smycroft FPSP.sa 1971.1Smycroft 1981.1SmycroftLIB_SA_FILES = \ 1991.1Smycroft l_entry.sa \ 2001.1Smycroft l_do_func.sa \ 2011.1Smycroft l_round.sa \ 2021.1Smycroft l_sacos.sa \ 2031.1Smycroft l_sasin.sa \ 2041.1Smycroft l_satan.sa \ 2051.1Smycroft l_satanh.sa \ 2061.1Smycroft l_scale.sa \ 2071.1Smycroft l_scosh.sa \ 2081.1Smycroft l_setox.sa \ 2091.1Smycroft l_sgetem.sa \ 2101.1Smycroft l_sint.sa \ 2111.1Smycroft l_slog2.sa \ 2121.1Smycroft l_slogn.sa \ 2131.1Smycroft l_srem_mod.sa \ 2141.1Smycroft l_ssin.sa \ 2151.1Smycroft l_ssinh.sa \ 2161.1Smycroft l_stan.sa \ 2171.1Smycroft l_stanh.sa \ 2181.1Smycroft l_stwotox.sa 2191.1Smycroft 2201.1SmycroftH_FILES = \ 2211.1Smycroft fpsp.h \ 2221.1Smycroft l_fpsp.h 2231.1Smycroft 2241.1SmycroftU_FILES = \ 2251.1Smycroft unix.s \ 2261.1Smycroft bindec.s \ 2271.1Smycroft binstr.s \ 2281.1Smycroft decbin.s \ 2291.1Smycroft do_func.s \ 2301.1Smycroft get_op.s \ 2311.1Smycroft gen_except.s \ 2321.1Smycroft kernel_ex.s \ 2331.1Smycroft res_func.s \ 2341.1Smycroft round.s \ 2351.1Smycroft sacos.s \ 2361.1Smycroft sasin.s \ 2371.1Smycroft satan.s \ 2381.1Smycroft satanh.s \ 2391.1Smycroft scosh.s \ 2401.1Smycroft setox.s \ 2411.1Smycroft sgetem.s \ 2421.1Smycroft sint.s \ 2431.1Smycroft slogn.s \ 2441.1Smycroft slog2.s \ 2451.1Smycroft smovecr.s \ 2461.1Smycroft srem_mod.s \ 2471.1Smycroft scale.s \ 2481.1Smycroft ssin.s \ 2491.1Smycroft ssinh.s \ 2501.1Smycroft stan.s \ 2511.1Smycroft stanh.s \ 2521.1Smycroft sto_res.s \ 2531.1Smycroft stwotox.s \ 2541.1Smycroft tbldo.s \ 2551.1Smycroft util.s \ 2561.1Smycroft x_bsun.s \ 2571.1Smycroft x_fline.s \ 2581.1Smycroft x_operr.s \ 2591.1Smycroft x_ovfl.s \ 2601.1Smycroft x_snan.s \ 2611.1Smycroft x_store.s \ 2621.1Smycroft x_unfl.s \ 2631.1Smycroft x_unimp.s \ 2641.1Smycroft x_unsupp.s \ 2651.1Smycroft bugfix.s \ 2661.1Smycroft fpsp.mk \ 2671.1Smycroft fpsp.defs \ 2681.1Smycroft l_entry.s \ 2691.1Smycroft l_do_func.s \ 2701.1Smycroft l_round.s \ 2711.1Smycroft l_sacos.s \ 2721.1Smycroft l_sasin.s \ 2731.1Smycroft l_satan.s \ 2741.1Smycroft l_satanh.s \ 2751.1Smycroft l_scale.s \ 2761.1Smycroft l_scosh.s \ 2771.1Smycroft l_setox.s \ 2781.1Smycroft l_sgetem.s \ 2791.1Smycroft l_sint.s \ 2801.1Smycroft l_slog2.s \ 2811.1Smycroft l_slogn.s \ 2821.1Smycroft l_srem_mod.s \ 2831.1Smycroft l_ssin.s \ 2841.1Smycroft l_ssinh.s \ 2851.1Smycroft l_stan.s \ 2861.1Smycroft l_stanh.s \ 2871.1Smycroft l_stwotox.s \ 2881.1Smycroft l_support.s \ 2891.1Smycroft l_fpsp.defs 2901.1Smycroft 2911.1Smycroft# 2921.1Smycroft# Build the target object. The linkfile is created on the fly. 2931.1Smycroft# Change the SEG directives to suit your system. 2941.1Smycroft# 2951.1Smycroft$(TARGET).mx: $(RO_FILES) 2961.1Smycroft rm -f linkfile 2971.1Smycroft echo 'IDENT FPSP,2,1,68040 Floating Point Software Package'>linkfile 2981.1Smycroft echo 'SEG SEG0(G):7 $$00004000' >>linkfile 2991.1Smycroft echo 'SEG SEG1(G):8 $$000D0000' >>linkfile 3001.1Smycroft echo 'SEG SEG2(G):15 $$000E0000' >>linkfile 3011.1Smycroft echo $(RO_FILES) | tr ' ' '\012' | sed 's/^/INPUT /' >>linkfile 3021.1Smycroft echo 'END' >>linkfile 3031.1Smycroft $(PLINK) $(PLINKOPTS) <linkfile 3041.1Smycroft 3051.1Smycroft# 3061.1Smycroft# Just about every file needs fpsp.h so: 3071.1Smycroft# 3081.1Smycroft$(RO_FILES): fpsp.h 3091.1Smycroft 3101.1Smycroftfpsp.defs: fpsp.h 3111.1Smycroft asm2as fpsp.h >fpsp.defs 3121.1Smycroft 3131.1Smycroftunix.s: 3141.1Smycroft sccs get unix.s 3151.1Smycroft 3161.1Smycroftfpsp.mk: 3171.1Smycroft sccs get fpsp.mk 3181.1Smycroft 3191.1Smycroft# 3201.1Smycroft#----------------------------------------------------------------------- 3211.1Smycroft# 3221.1Smycroft# For making a library version of the FPSP: 3231.1Smycroft# 3241.1Smycroftlibrary: $(LIB_TARGET) 3251.1Smycroft 3261.1Smycroft$(LIB_TARGET): $(LIB_RO_FILES) 3271.1Smycroft rm -f $(LIB_TARGET) 3281.1Smycroft $(AR) crv $(LIB_TARGET) $(LIB_RO_FILES) 3291.1Smycroft 3301.1Smycroft$(LIB_RO_FILES): l_fpsp.h 3311.1Smycroft 3321.1Smycroftl_fpsp.defs: l_fpsp.h 3331.1Smycroft asm2as l_fpsp.h >l_fpsp.defs 3341.1Smycroft 3351.1Smycroft# 3361.1Smycroft# The entry points to the library version are created here 3371.1Smycroft# by using two template files an awk script and a list of 3381.1Smycroft# the entry routines for each function. 3391.1Smycroft# 3401.1Smycroftl_entry.sa: L_ENTRY.AWK L_LIST MONADIC.$(SYS) DYADIC.$(SYS) l_fpsp.h 3411.1Smycroft awk -f L_ENTRY.AWK SYS=$(SYS) PREFIX=$(PREFIX) - <L_LIST|sh>l_entry.sa 3421.1Smycroft 3431.1Smycroft# 3441.1Smycroft# Do_func.sa and round.sa need special editing to remove references that 3451.1Smycroft# aren't needed in the library version. Beware that changes in 3461.1Smycroft# the source code may cause this editing to break.... 3471.1Smycroft# 3481.1Smycroftl_do_func.sa: do_func.sa 3491.1Smycroft $(LIB_FILTER) do_func.sa >l_do_func.sa 3501.1Smycroft echo '/xdef.*do_func/,/^ rts/d' >.SCRIPT 3511.1Smycroft echo 'g/smovcr/d' >>.SCRIPT 3521.1Smycroft echo 'g/tblpre/d' >>.SCRIPT 3531.1Smycroft echo 'w' >>.SCRIPT 3541.1Smycroft echo 'q' >>.SCRIPT 3551.1Smycroft ed - l_do_func.sa <.SCRIPT 3561.1Smycroft rm .SCRIPT 3571.1Smycroft 3581.1Smycroftl_round.sa: round.sa 3591.1Smycroft $(LIB_FILTER) round.sa >l_round.sa 3601.1Smycroft echo '/^not_E3:/-6,/^not_E3:/d' >.SCRIPT 3611.1Smycroft echo 'w' >>.SCRIPT 3621.1Smycroft echo 'q' >>.SCRIPT 3631.1Smycroft ed - l_round.sa <.SCRIPT 3641.1Smycroft rm .SCRIPT 3651.1Smycroft 3661.1Smycroftl_sacos.sa: sacos.sa 3671.1Smycroft $(LIB_FILTER) sacos.sa >l_sacos.sa 3681.1Smycroft 3691.1Smycroftl_sasin.sa: sasin.sa 3701.1Smycroft $(LIB_FILTER) sasin.sa >l_sasin.sa 3711.1Smycroft 3721.1Smycroftl_satan.sa: satan.sa 3731.1Smycroft $(LIB_FILTER) satan.sa >l_satan.sa 3741.1Smycroft 3751.1Smycroftl_satanh.sa: satanh.sa 3761.1Smycroft $(LIB_FILTER) satanh.sa >l_satanh.sa 3771.1Smycroft 3781.1Smycroftl_scale.sa: scale.sa 3791.1Smycroft $(LIB_FILTER) scale.sa >l_scale.sa 3801.1Smycroft 3811.1Smycroftl_scosh.sa: scosh.sa 3821.1Smycroft $(LIB_FILTER) scosh.sa >l_scosh.sa 3831.1Smycroft 3841.1Smycroftl_setox.sa: setox.sa 3851.1Smycroft $(LIB_FILTER) setox.sa >l_setox.sa 3861.1Smycroft 3871.1Smycroftl_sgetem.sa: sgetem.sa 3881.1Smycroft $(LIB_FILTER) sgetem.sa >l_sgetem.sa 3891.1Smycroft 3901.1Smycroftl_sint.sa: sint.sa 3911.1Smycroft $(LIB_FILTER) sint.sa >l_sint.sa 3921.1Smycroft 3931.1Smycroftl_slog2.sa: slog2.sa 3941.1Smycroft $(LIB_FILTER) slog2.sa >l_slog2.sa 3951.1Smycroft 3961.1Smycroftl_slogn.sa: slogn.sa 3971.1Smycroft $(LIB_FILTER) slogn.sa >l_slogn.sa 3981.1Smycroft 3991.1Smycroftl_srem_mod.sa: srem_mod.sa 4001.1Smycroft $(LIB_FILTER) srem_mod.sa >l_srem_mod.sa 4011.1Smycroft 4021.1Smycroftl_ssin.sa: ssin.sa 4031.1Smycroft $(LIB_FILTER) ssin.sa >l_ssin.sa 4041.1Smycroft 4051.1Smycroftl_ssinh.sa: ssinh.sa 4061.1Smycroft $(LIB_FILTER) ssinh.sa >l_ssinh.sa 4071.1Smycroft 4081.1Smycroftl_stan.sa: stan.sa 4091.1Smycroft $(LIB_FILTER) stan.sa >l_stan.sa 4101.1Smycroft 4111.1Smycroftl_stanh.sa: stanh.sa 4121.1Smycroft $(LIB_FILTER) stanh.sa >l_stanh.sa 4131.1Smycroft 4141.1Smycroftl_stwotox.sa: stwotox.sa 4151.1Smycroft $(LIB_FILTER) stwotox.sa >l_stwotox.sa 4161.1Smycroft 4171.1Smycroft# 4181.1Smycroft# Extract all files from SCCS directory 4191.1Smycroft# 4201.1Smycroftgetall: $(SA_FILES) $(H_FILES) 4211.1Smycroft 4221.1Smycroftconvert: $(U_FILES) 4231.1Smycroft 4241.1Smycroftclean: 4251.1Smycroft rm -f $(RO_FILES) 4261.1Smycroft rm -f $(U_FILES) 4271.1Smycroft rm -f *.ls linkfile $(TARGET).linkmap 4281.1Smycroft rm -f FPSP.mx 4291.1Smycroft rm -f $(LIB_TARGET) .SCRIPT 4301.1Smycroft rm -f $(LIB_RO_FILES) 4311.1Smycroft rm -f $(LIB_SA_FILES) 4321.1Smycroft 4331.1Smycroftclobber: clean 4341.1Smycroft 435