1#ident "@(#)cc-gcc.rul	1.21 21/04/28 "
2###########################################################################
3# Written 1996-2018 by J. Schilling
4###########################################################################
5#
6# Platform independent MACROS for GCC
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
24GCC_OPT=
25GCC_OPT32=	-m32
26GCC_OPT64=	-m64
27GCC_OPTXX=	$(GCC_OPT$(C_ARCH:gcc%=%))
28
29CPP_FLAGS=	-DSCHILY_BUILD $(CPPOPTS) $(CPPOPTX) $(OSINCDIRS:%=-I%) $(OSDEFS) $(OSDEFSX)
30C_FLAGS=	$(COPTS) $(CWARNOPTS) $(COPTOPT) $(GCCOPTOPT) $(COPTX)
31C++FLAGS=	$(C++OPTS) $(C++WARNOPTS) $(C++OPTOPT) $(G++OPTOPT) $(C++OPTX)
32
33CPPOPTS=	-I$(ARCHDIR) -I$(OINCSDIR) $(INCDIRS:%=-I%) $(INCDIRSX:%=-I%)
34COPTS=		$(GCC_OPTXX)
35#		-Wtraditional now causes more pain than it helps
36CWOPTS=		-Wall -Wtraditional
37CWOPTS=		-Wall -Wno-unknown-pragmas \
38		-Wshadow -Wmissing-prototypes -Wstrict-prototypes
39COPTOPT=	-O
40COPTDYN=	-fpic
41COPTGPROF=	-pg
42C++OPTS=	$(GCC_OPTXX)
43C++WOPTS=	$(CWOPTS)
44C++OPTOPT=	$(COPTOPT)
45C++OPTDYN=	-fpic
46C++OPTGPROF=	-pg
47
48LIB_PREFIX=	lib
49LIB_SUFFIX=	.a
50SHL_SUFFIX=	.so.$(DYNMAJOR)
51
52LIB_C=		-lc
53
54LIBS_PATH=	-L$(OLIBSDIR)
55LIBS_PATH_STATIC= -L$(OLIBSDIR_STATIC)
56
57LDFLAGS=	$(LDOPTS) $(LDOPTX)
58LDLIBS=		$(LIBS) $(LIBX)
59
60LDOPTS=		$(LIBS_PATH) $(LDPATH) $(RUNPATH:-R%=-Wl,-R%)
61LDOPTDYN=	-shared -Wl,-soname,$(TARGET)
62LNDYNLIB=	$(NOECHO)$(RM) $(RM_FORCE) $(PTARGET_BASE).so; $(SYMLINK) $(TARGET) $(PTARGET_BASE).so
63
64FLOAT_OPTIONS=
65
66__CC_COM=	$(_UNIQ)$(CC)
67___CC_COM=	$(__CC_COM:$(_UNIQ)=$(CC_COM_DEF))
68CC_COM=		$(___CC_COM:$(_UNIQ)%=%)
69
70__CC++_COM=	$(_UNIQ)$(CCC)
71___CC++_COM=	$(__CC++_COM:$(_UNIQ)=$(CC++_COM_DEF))
72CC++_COM=	$(___CC++_COM:$(_UNIQ)%=%)
73
74CC_COM_DEF=	gcc
75CC++_COM_DEF=	g++
76CC=		$(CC_COM_DEF)
77CCC=		$(CC++_COM_DEF)
78
79CCCC=		$(NOECHO)echo "	==> COMPILING \"$@\""; $(CC_COM) $(GCC_OPTXX)
80CC++ =		$(NOECHO)echo "	==> COMPILING \"$@\""; $(CC++_COM) $(GCC_OPTXX)
81LDCC=		$(NOECHO)echo "	==> LINKING \"$@\""; $(CC_COM) $(GCC_OPTXX)
82LDCC++ =	$(NOECHO)echo "	==> LINKING \"$@\""; $(CC++_COM) $(GCC_OPTXX)
83DYNLD=		$(NOECHO)echo "	==> LINKING dynamic library \"$@\""; $(CC_COM) $(GCC_OPTXX)
84DYNLDC++ =	$(NOECHO)echo "	==> LINKING dynamic library \"$@\""; $(CC++_COM) $(GCC_OPTXX)
85
86RMDEP=		:
87MKDEP=		$(NOECHO)echo "	==> MAKING DEPENDENCIES \"$@\""; $(RMDEP); $(CC_COM) $(GCC_OPTXX) -M
88MKDEP_OUT=
89MKC++DEP=	$(NOECHO)echo "	==> MAKING DEPENDENCIES \"$@\""; $(RMDEP); $(CC++_COM) $(GCC_OPTXX) -M
90MKC++DEP_OUT=
91