1#ident "@(#)cc-clang.rul 1.6 21/04/28 " 2########################################################################### 3# Written 1996-2018 by J. Schilling 4########################################################################### 5# 6# Platform independent MACROS for Clang 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 24CLANG_OPT= 25CLANG_OPT32= -m32 26CLANG_OPT64= -m64 27CLANG_OPTXX= $(CLANG_OPT$(C_ARCH:clang%=%)) 28 29CPP_FLAGS= -DSCHILY_BUILD $(CPPOPTS) $(CPPOPTX) $(OSINCDIRS:%=-I%) $(OSDEFS) $(OSDEFSX) 30C_FLAGS= $(COPTS) $(CWARNOPTS) $(COPTOPT) $(CLANGOPTOPT) $(COPTX) 31C++FLAGS= $(C++OPTS) $(C++WARNOPTS) $(C++OPTOPT) $(G++OPTOPT) $(C++OPTX) 32 33CPPOPTS= -I$(ARCHDIR) -I$(OINCSDIR) $(INCDIRS:%=-I%) $(INCDIRSX:%=-I%) 34COPTS= $(CLANG_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= $(CLANG_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= clang 75CC++_COM_DEF= clang++ 76CC= $(CC_COM_DEF) 77CCC= $(CC++_COM_DEF) 78 79CCCC= $(NOECHO)echo " ==> COMPILING \"$@\""; $(CC_COM) $(CLANG_OPTXX) 80CC++ = $(NOECHO)echo " ==> COMPILING \"$@\""; $(CC++_COM) $(CLANG_OPTXX) 81LDCC= $(NOECHO)echo " ==> LINKING \"$@\""; $(CC_COM) $(CLANG_OPTXX) 82LDCC++ = $(NOECHO)echo " ==> LINKING \"$@\""; $(CC++_COM) $(CLANG_OPTXX) 83DYNLD= $(NOECHO)echo " ==> LINKING dynamic library \"$@\""; $(CC_COM) $(CLANG_OPTXX) 84DYNLDC++ = $(NOECHO)echo " ==> LINKING dynamic library \"$@\""; $(CC++_COM) $(CLANG_OPTXX) 85 86RMDEP= : 87MKDEP= $(NOECHO)echo " ==> MAKING DEPENDENCIES \"$@\""; $(RMDEP); $(CC_COM) $(CLANG_OPTXX) -M 88MKDEP_OUT= 89MKC++DEP= $(NOECHO)echo " ==> MAKING DEPENDENCIES \"$@\""; $(RMDEP); $(CC++_COM) $(CLANG_OPTXX) -M 90MKC++DEP_OUT= 91