1 # 2 # Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 # 5 # This code is free software; you can redistribute it and/or modify it 6 # under the terms of the GNU General Public License version 2 only, as 7 # published by the Free Software Foundation. 8 # 9 # This code is distributed in the hope that it will be useful, but WITHOUT 10 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 # version 2 for more details (a copy is included in the LICENSE file that 13 # accompanied this code). 14 # 15 # You should have received a copy of the GNU General Public License version 16 # 2 along with this work; if not, write to the Free Software Foundation, 17 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 # 19 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 20 # or visit www.oracle.com if you need additional information or have any 21 # questions. 22 # 23 # 24 25 #------------------------------------------------------------------------ 26 # CC, CXX & AS 27 28 CXX = CC 29 CC = cc 30 AS = $(CC) -c 31 32 HOSTCXX = $(CXX) 33 HOSTCC = $(CC) 34 35 ARCHFLAG = $(ARCHFLAG/$(BUILDARCH)) 36 ARCHFLAG/i486 = -m32 37 ARCHFLAG/amd64 = -m64 38 39 CFLAGS += $(ARCHFLAG) 40 AOUT_FLAGS += $(ARCHFLAG) 41 LFLAGS += $(ARCHFLAG) 42 ASFLAGS += $(ARCHFLAG) 43 44 #------------------------------------------------------------------------ 45 # Compiler flags 46 47 # position-independent code 48 PICFLAG = -KPIC 49 50 CFLAGS += $(PICFLAG) 51 # no more exceptions 52 CFLAGS += -features=no%except 53 # Reduce code bloat by reverting back to 5.0 behavior for static initializers 54 CFLAGS += -features=no%split_init 55 # allow zero sized arrays 56 CFLAGS += -features=zla 57 58 # Use C++ Interpreter 59 ifdef CC_INTERP 60 CFLAGS += -DCC_INTERP 61 endif 62 63 # We don't need libCstd.so and librwtools7.so, only libCrun.so 64 CFLAGS += -library=Crun 65 LIBS += -lCrun 66 67 CFLAGS += -mt 68 LFLAGS += -mt 69 70 # Compiler warnings are treated as errors 71 #WARNINGS_ARE_ERRORS = -errwarn=%all 72 CFLAGS_WARN/DEFAULT = $(WARNINGS_ARE_ERRORS) 73 # Special cases 74 CFLAGS_WARN/BYFILE = $(CFLAGS_WARN/$@)$(CFLAGS_WARN/DEFAULT$(CFLAGS_WARN/$@)) 75 76 # The flags to use for an Optimized build 77 OPT_CFLAGS+=-xO4 78 OPT_CFLAGS/NOOPT=-xO0 79 80 # Flags for creating the dependency files. 81 ifeq ($(shell expr $(COMPILER_REV_NUMERIC) \>= 509), 1) 82 DEPFLAGS = -xMMD -xMF $(DEP_DIR)/$(@:%=%.d) 83 endif 84 85 # -DDONT_USE_PRECOMPILED_HEADER will exclude all includes in precompiled.hpp. 86 CFLAGS += -DDONT_USE_PRECOMPILED_HEADER 87 88 #------------------------------------------------------------------------ 89 # Linker flags 90 91 # Use $(MAPFLAG:FILENAME=real_file_name) to specify a map file. 92 MAPFLAG = -Wl,--version-script=FILENAME 93 94 # Use $(SONAMEFLAG:SONAME=soname) to specify the intrinsic name of a shared obj 95 SONAMEFLAG = -h SONAME 96 97 # Build shared library 98 SHARED_FLAG = -G 99 100 #------------------------------------------------------------------------ 101 # Debug flags 102 DEBUG_CFLAGS += -g 103 FASTDEBUG_CFLAGS = -g0 104