Home | History | Annotate | Download | only in fptest
      1 # CDDL HEADER START
      2 #
      3 # The contents of this file are subject to the terms of the
      4 # Common Development and Distribution License (the "License").
      5 # You may not use this file except in compliance with the License.
      6 #
      7 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
      8 # or http://www.opensolaris.org/os/licensing.
      9 # See the License for the specific language governing permissions
     10 # and limitations under the License.
     11 #
     12 # When distributing Covered Code, include this CDDL HEADER in each
     13 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     14 # If applicable, add the following below this CDDL HEADER, with the
     15 # fields enclosed by brackets "[]" replaced with your own identifying
     16 # information: Portions Copyright [yyyy] [name of copyright owner]
     17 #
     18 # CDDL HEADER END
     19 
     20 # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
     21 # Use is subject to license terms.
     22 
     23 include ../../Makefile.cmd
     24 include ../../Makefile.cmd.64
     25 
     26 PROG = fptest
     27 
     28 ROOTLIBFPS= $(ROOTLIB)/fps/sun4u/UltraSPARC-III
     29 ROOTLIBFPSIIIi= $(ROOTLIB)/fps/sun4u/UltraSPARC-IIIi
     30 ROOTLIBFPSIIIPLUS= $(ROOTLIB)/fps/sun4u/UltraSPARC-III+
     31 ROOTLIBFPSIV= $(ROOTLIB)/fps/sun4u/UltraSPARC-IV
     32 ROOTLIBFPSIVPLUS= $(ROOTLIB)/fps/sun4u/UltraSPARC-IV+
     33 
     34 ROOTLIBFPSTEST= $(PROG:%=$(ROOTLIBFPS)/%)
     35 ROOTLIBFPSTESTIIIi= $(PROG:%=$(ROOTLIBFPSIIIi)/%)
     36 ROOTLIBFPSTESTIIIPLUS= $(PROG:%=$(ROOTLIBFPSIIIPLUS)/%)
     37 ROOTLIBFPSTESTIV= $(PROG:%=$(ROOTLIBFPSIV)/%)
     38 ROOTLIBFPSTESTIVPLUS= $(PROG:%=$(ROOTLIBFPSIVPLUS)/%)
     39 
     40 SUNPERF = $(SPRO_VROOT)/prod/lib
     41 
     42 SUNPV9B = $(SUNPERF)/v9b
     43 SUNPV9  = $(SUNPERF)/v9
     44 VISARCH = -m64 -xarch=sparcvis2
     45 SHELL = /bin/ksh
     46 
     47 CHIP = -xchip=ultra3
     48 
     49 INCLUDES = -I. -I$(SPRO_VROOT)/prod/include/cc \
     50            -I../../fm/modules/sun4u/fps-transport
     51 
     52 CFLAGS64 += $(INCLUDES) -D_sparc64 -DV9B -g -xO3 -xildoff -_cc=-W2,-whole \
     53             $(CHIP) -_cc=-fsimple=0 $(VISARCH) -_gcc="-D__SUNPRO_C=1"\
     54             -erroff=E_ASM_DISABLES_OPTIMIZATION
     55 
     56 LDLIBS  += -lc -lsysevent -lnvpair -lkstat -lm -lnsl -lpicl
     57 
     58 FBEFLAGS = -xildoff -D_sparc64 -DV9B $(VISARCH)
     59 
     60 SRCS = benchmarks.c fptest.c fps_ereport_mod.c cbbcopy.c fputest.c linpack.c \
     61        fpu_fsr_test.c cheetah_sdc.c util.c cheetah_sdc.s fpu_if64.s \
     62        fpu_test64.s fsr_test.s iflush.s
     63 
     64 LINOBJS = S.linpack.o D.linpack.o
     65 
     66 EXTRA_LIBS_CPU = -_cc=-xprefetch=auto -_cc=-xopenmp $(SUNPV9B)/libsunperf.a \
     67                  $(SUNPV9)/libfui.a $(SUNPV9)/libfai.a $(SUNPV9)/libfsu.a \
     68                  $(SUNPV9)/libsunmath.a $(VISARCH)
     69 
     70 SDCOBJS = cheetah_sdc.o iflush.o ch_sdc_g1.o ch_sdc_g2.o ch_sdc_g3.o \
     71           ch_sdc_g4.o ch_sdc_l0.o ch_sdc_l1.o ch_sdc_l2.o ch_sdc_l3.o \
     72           ch_sdc_l4.o ch_sdc_l5.o ch_sdc_l6.o ch_sdc_l7.o ch_sdc_o0.o \
     73           ch_sdc_o1.o ch_sdc_o2.o ch_sdc_o3.o ch_sdc_o4.o ch_sdc_o5.o \
     74           ch_sdc_o7.o
     75 
     76 FPUOBJS = $(SDCOBJS) fputest.o fpu_fsr_test.o fsr_test.o \
     77           cbbcopy.o fptest.o $(LINOBJS) fpu_if64.o fpu_test64.o \
     78           benchmarks.o fps_ereport_mod.o util.o
     79 
     80 AS_FLAGS += $(VISARCH) -P -D_ASM -D_sparc64
     81 
     82 VER:sh = \
     83 	if [ -f ../compilercheck/compilercheck ]; \
     84 	then \
     85 	../compilercheck/compilercheck; echo $?; \
     86 	fi
     87 
     88 LINTFLAGS64 += $(INCLUDES) -D_sparc64 -DV9B -DLAPA_COMP_PERF_$(VER)
     89 
     90 .KEEP_STATE:
     91 
     92 ########## beginning of dependency lines #################
     93 
     94 all: $(PROG)
     95 
     96 .c.o:
     97 	$(COMPILE.c) -DLAPA_COMP_PERF_$(VER) $<
     98 	$(CTFCONVERT_O)
     99 	$(POST_PROCESS_O)
    100 
    101 $(PROG): $(FPUOBJS)
    102 	$(LINK.c) -o $@ $(FPUOBJS) $(LDFLAGS) $(LDLIBS) $(TSTLIB.A) \
    103         $(EXTRA_LIBS_CPU)
    104 	$(POST_PROCESS)
    105 
    106 include Makefile.rules
    107 
    108 benchmarks.o: benchmarks.c visfps.il
    109 	$(COMPILE.c) -DFPU visfps.il benchmarks.c
    110 	$(CTFCONVERT_O)
    111 	$(POST_PROCESS_O)
    112 
    113 S.linpack.o: linpack.c
    114 	$(COMPILE.c) -DLAPA_COMP_PERF_$(VER) linpack.c -o $@
    115 	$(CTFCONVERT_O)
    116 	$(POST_PROCESS_O)
    117 
    118 D.linpack.o: linpack.c
    119 	$(COMPILE.c) -DLAPA_COMP_PERF_$(VER) linpack.c -DDP -o $@
    120 	$(CTFCONVERT_O)
    121 	$(POST_PROCESS_O)
    122 
    123 fpu_if64.o:  fpu_if64.s
    124 	$(COMPILE.c) $(FBEFLAGS) -Wa,-s,-P,-D_ASM fpu_if64.s
    125 	$(CTFCONVERT_O)
    126 	$(POST_PROCESS_O)
    127 
    128 fpu_test64.o: fpu_test64.s
    129 	$(COMPILE.c) $(FBEFLAGS) -Wa,-s,-P,-D_ASM fpu_test64.s
    130 	$(CTFCONVERT_O)
    131 	$(POST_PROCESS_O)
    132 
    133 fsr_test.o: fsr_test.s
    134 	$(COMPILE.c) $(FBEFLAGS) -Wa,-s,-P,-D_ASM fsr_test.s
    135 	$(CTFCONVERT_O)
    136 	$(POST_PROCESS_O)
    137 
    138 install : all $(ROOTLIBFPS) $(ROOTLIBFPSTEST) $(ROOTLIBFPSIIIi) \
    139           $(ROOTLIBFPSTESTIIIi) $(ROOTLIBFPSIIIPLUS) $(ROOTLIBFPSTESTIIIPLUS) \
    140           $(ROOTLIBFPSIV) $(ROOTLIBFPSTESTIV) $(ROOTLIBFPSIVPLUS) \
    141           $(ROOTLIBFPSTESTIVPLUS)
    142 
    143 clean:
    144 	$(RM) $(LINOBJS) $(FPUOBJS)
    145 
    146 lint: lint_SRCS
    147 
    148 $(ROOTLIBFPS):
    149 	$(INS.dir)
    150 
    151 $(ROOTLIBFPS)/%:      %
    152 	$(INS.file)
    153 
    154 $(ROOTLIBFPSIIIi):
    155 	$(INS.dir)
    156 
    157 $(ROOTLIBFPSIIIi)/%:      %
    158 	$(RM) $@
    159 	$(SYMLINK) ../UltraSPARC-III/fptest $@
    160 
    161 $(ROOTLIBFPSIIIPLUS):
    162 	$(INS.dir)
    163 
    164 $(ROOTLIBFPSIIIPLUS)/%:      %
    165 	$(RM) $@
    166 	$(SYMLINK) ../UltraSPARC-III/fptest $@
    167 
    168 $(ROOTLIBFPSIV):
    169 	$(INS.dir)
    170 
    171 $(ROOTLIBFPSIV)/%:      %
    172 	$(RM) $@
    173 	$(SYMLINK) ../UltraSPARC-III/fptest $@
    174 
    175 $(ROOTLIBFPSIVPLUS):
    176 	$(INS.dir)
    177 
    178 $(ROOTLIBFPSIVPLUS)/%:      %
    179 	$(RM) $@
    180 	$(SYMLINK) ../UltraSPARC-III/fptest $@
    181 
    182 include ../../Makefile.targ
    183