xref: /onnv-gate/usr/src/cmd/fps/fptest/Makefile (revision 10273:84bfc6d78f00)
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
23include ../../Makefile.cmd
24include ../../Makefile.cmd.64
25
26PROG = fptest
27
28ROOTLIBFPS= $(ROOTLIB)/fps/sun4u/UltraSPARC-III
29ROOTLIBFPSIIIi= $(ROOTLIB)/fps/sun4u/UltraSPARC-IIIi
30ROOTLIBFPSIIIPLUS= $(ROOTLIB)/fps/sun4u/UltraSPARC-III+
31ROOTLIBFPSIV= $(ROOTLIB)/fps/sun4u/UltraSPARC-IV
32ROOTLIBFPSIVPLUS= $(ROOTLIB)/fps/sun4u/UltraSPARC-IV+
33
34ROOTLIBFPSTEST= $(PROG:%=$(ROOTLIBFPS)/%)
35ROOTLIBFPSTESTIIIi= $(PROG:%=$(ROOTLIBFPSIIIi)/%)
36ROOTLIBFPSTESTIIIPLUS= $(PROG:%=$(ROOTLIBFPSIIIPLUS)/%)
37ROOTLIBFPSTESTIV= $(PROG:%=$(ROOTLIBFPSIV)/%)
38ROOTLIBFPSTESTIVPLUS= $(PROG:%=$(ROOTLIBFPSIVPLUS)/%)
39
40SUNPERF = $(SPRO_VROOT)/prod/lib
41
42SUNPV9B = $(SUNPERF)/v9b
43SUNPV9  = $(SUNPERF)/v9
44VISARCH = -m64 -xarch=sparcvis2
45SHELL = /bin/ksh
46
47CHIP = -xchip=ultra3
48
49INCLUDES = -I. -I$(SPRO_VROOT)/prod/include/cc \
50           -I../../fm/modules/sun4u/fps-transport
51
52CFLAGS64 += $(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
56LDLIBS  += -lc -lsysevent -lnvpair -lkstat -lm -lnsl -lpicl
57
58FBEFLAGS = -xildoff -D_sparc64 -DV9B $(VISARCH)
59
60SRCS = 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
64LINOBJS = S.linpack.o D.linpack.o
65
66EXTRA_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
70SDCOBJS = 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
76FPUOBJS = $(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
80AS_FLAGS += $(VISARCH) -P -D_ASM -D_sparc64
81
82VER:sh = \
83	if [ -f ../compilercheck/compilercheck ]; \
84	then \
85	../compilercheck/compilercheck; echo $?; \
86	fi
87
88LINTFLAGS64 += $(INCLUDES) -D_sparc64 -DV9B -DLAPA_COMP_PERF_$(VER)
89
90.KEEP_STATE:
91
92########## beginning of dependency lines #################
93
94all: $(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
106include Makefile.rules
107
108benchmarks.o: benchmarks.c visfps.il
109	$(COMPILE.c) -DFPU visfps.il benchmarks.c
110	$(CTFCONVERT_O)
111	$(POST_PROCESS_O)
112
113S.linpack.o: linpack.c
114	$(COMPILE.c) -DLAPA_COMP_PERF_$(VER) linpack.c -o $@
115	$(CTFCONVERT_O)
116	$(POST_PROCESS_O)
117
118D.linpack.o: linpack.c
119	$(COMPILE.c) -DLAPA_COMP_PERF_$(VER) linpack.c -DDP -o $@
120	$(CTFCONVERT_O)
121	$(POST_PROCESS_O)
122
123fpu_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
128fpu_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
133fsr_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
138install : all $(ROOTLIBFPS) $(ROOTLIBFPSTEST) $(ROOTLIBFPSIIIi) \
139          $(ROOTLIBFPSTESTIIIi) $(ROOTLIBFPSIIIPLUS) $(ROOTLIBFPSTESTIIIPLUS) \
140          $(ROOTLIBFPSIV) $(ROOTLIBFPSTESTIV) $(ROOTLIBFPSIVPLUS) \
141          $(ROOTLIBFPSTESTIVPLUS)
142
143clean:
144	$(RM) $(LINOBJS) $(FPUOBJS)
145
146lint: 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
182include ../../Makefile.targ
183