1#ident "@(#)cc-sunpro.rul	1.21 21/04/28 "
2###########################################################################
3# Written 1996-2018 by J. Schilling
4###########################################################################
5#
6# Platform dependent MACROS for SunPro (Studio) cc
7#
8###########################################################################
9# Copyright (c) J. Schilling
10###########################################################################
11# The contents of this file are subject to the terms of the
12# Common Development and Distribution License, Version 1.0 only
13# (the "License").  You may not use this file except in compliance
14# with the License.
15#
16# See the file CDDL.Schily.txt in this distribution for details.
17# A copy of the CDDL is also available via the Internet at
18# http://www.opensource.org/licenses/cddl1.txt
19#
20# When distributing Covered Code, include this CDDL HEADER in each
21# file and include the License file CDDL.Schily.txt from this distribution.
22###########################################################################
23
24CPP_FLAGS=	-DSCHILY_BUILD $(CPPOPTS) $(CPPOPTX) $(OSINCDIRS:%=-I%) $(OSDEFS) $(OSDEFSX)
25C_FLAGS=	$(COPTS) $(CWARNOPTS) $(COPTOPT) $(SUNPROCOPTOPT) $(COPTX)
26C++FLAGS=	$(C++OPTS) $(C++WARNOPTS) $(C++OPTOPT) $(SUNPROC++OPTOPT) $(C++OPTX)
27
28LINTFLAGS=	-Nlevel=4
29
30_SUNPROCOPT=	$(_UNIQ)$(XARCH_GEN_)
31__SUNPROCOPT=	$(_SUNPROCOPT:$(_UNIQ)=-xarch=generic)
32SUNPROCOPT=	$(__SUNPROCOPT:$(_UNIQ)%=%)
33
34SUN_CC32_OPT=	$(SUN_CC64_OPT:-m64=-m32)
35
36_SUNPROCOPT32=	$(_UNIQ)$(SUN_CC32_OPT)
37__SUNPROCOPT32=	$(_SUNPROCOPT32:$(_UNIQ)=-xarch=generic)
38SUNPROCOPT32=	$(__SUNPROCOPT32:$(_UNIQ)%=%)
39
40_SUNPROCOPT64=	$(_UNIQ)$(SUN_CC64_OPT)
41__SUNPROCOPT64=	$(_SUNPROCOPT64:$(_UNIQ)=-xarch=generic64)
42SUNPROCOPT64=	$(__SUNPROCOPT64:$(_UNIQ)%=%)
43
44C_ARCH_=	$(C_ARCH:suncc%=%)
45SUNPROCOPTXX=	$(SUNPROCOPT$(C_ARCH_:cc%=%))
46XARCH_GEN=	$(SUNPROCOPTXX)
47
48CPPOPTS=	-I$(ARCHDIR) -I$(OINCSDIR) $(INCDIRS:%=-I%) $(INCDIRSX:%=-I%)
49COPTS=		-Xa $(SUNPROCOPTXX)
50CWOPTS=		-v
51COPTOPT=	-O
52COPTDYN=	-Kpic
53COPTGPROF=	-xpg
54C++OPTS=	$(SUNPROCOPTXX)
55C++WOPTS=
56C++OPTOPT=	-O
57C++OPTDYN=	-Kpic
58C++OPTGPROF=	-xpg
59
60LIB_PREFIX=	lib
61LIB_SUFFIX=	.a
62SHL_SUFFIX=	.so.$(DYNMAJOR)
63
64LIB_C=		-lc
65
66LIBS_PATH=	-L$(OLIBSDIR)
67LIBS_PATH_STATIC= -L$(OLIBSDIR_STATIC)
68
69LDFLAGS=	$(LDOPTS) $(LDOPTX)
70LDLIBS=		$(LIBS) $(LIBX)
71
72#
73# Sunpro C/C++ run on Solaris and Linux and both have linkers
74# that support mapfiles
75#
76MAPVERS=	$(_MAPVERS) # This enables to use mapfiles
77
78LDOPTS=		$(LIBS_PATH) $(LDPATH) $(RUNPATH)
79LDOPTDYN=	-dy -G -ztext -h $(TARGET) $(PMAPVERS:%=-M%) -ldl
80LNDYNLIB=	$(NOECHO)$(RM) $(RM_FORCE) $(PTARGET_BASE).so; $(SYMLINK) $(TARGET) $(PTARGET_BASE).so
81
82FLOAT_OPTIONS=
83
84__CC_COM=	$(_UNIQ)$(CC)
85___CC_COM=	$(__CC_COM:$(_UNIQ)=$(CC_COM_DEF))
86CC_COM=		$(___CC_COM:$(_UNIQ)%=%)
87
88__CC++_COM=	$(_UNIQ)$(CCC)
89___CC++_COM=	$(__CC++_COM:$(_UNIQ)=$(CC++_COM_DEF))
90CC++_COM=	$(___CC++_COM:$(_UNIQ)%=%)
91
92CC_COM_DEF=	cc
93CC++_COM_DEF=	CC
94CC=		$(CC_COM_DEF)
95CCC=		$(CC++_COM_DEF)
96
97CCCC=		$(NOECHO)echo "	==> COMPILING \"$@\""; $(CC_COM) $(SUNPROCOPTXX)
98CC++ =		$(NOECHO)echo "	==> COMPILING \"$@\""; $(CC++_COM) $(SUNPROCOPTXX)
99LDCC=		$(NOECHO)echo "	==> LINKING \"$@\""; $(CC_COM) $(SUNPROCOPTXX)
100LDCC++ =	$(NOECHO)echo "	==> LINKING \"$@\""; $(CC++_COM) $(SUNPROCOPTXX)
101DYNLD=		$(NOECHO)echo "	==> LINKING dynamic library \"$@\""; $(CC_COM) $(SUNPROCOPTXX)
102DYNLDC++ =	$(NOECHO)echo "	==> LINKING dynamic library \"$@\""; $(CC++_COM) $(SUNPROCOPTXX)
103
104RMDEP=		:
105MKDEP=		$(NOECHO)echo "	==> MAKING DEPENDENCIES \"$@\""; $(RMDEP); $(CC_COM) -xM $(SUNPROCOPTXX)
106MKDEP_OUT=
107MKC++DEP=	$(NOECHO)echo "	==> MAKING DEPENDENCIES \"$@\""; $(RMDEP); $(CC++_COM) -xM $(SUNPROCOPTXX)
108MKC++DEP_OUT=
109