| # |
| # @(#)Defs-solaris.gmk 1.24 96/07/09 |
| # |
| # Makefile to specify compiler flags for programs and libraries |
| # targeted to Solaris. Should not contain any rules. |
| # |
| |
| ARCH = $(shell uname -p) |
| |
| # This default is redefined during a release build. |
| RELEASE = $(shell echo `/usr/ucb/whoami`:`date '+%m/%d/%d-%H:%M'`) |
| |
| # If -Xa is in CFLAGS_COMMON it will end up ahead of $(POPT) for the |
| # optimized build, and that ordering of the flags completely freaks |
| # out cc. Hence, -Xa is instead in each CFLAGS variant. |
| ifneq ($(CC_VERSION), gcc) |
| CFLAGS_COMMON = -v |
| CFLAGS_OPT = -Xa $(POPT) |
| CFLAGS_DBG = -Xa -g |
| else |
| CFLAGS_COMMON = |
| CFLAGS_OPT = $(POPT) |
| CFLAGS_DBG = -g |
| endif |
| |
| # |
| # Optional global flags with defaults: turn on from command line like |
| # |
| # % gnumake THREADS_FLAG=native |
| # |
| |
| # By default use green threads |
| THREADS_FLAG = green |
| |
| ifeq ($(THREADS_FLAG), native) |
| CFLAGS_COMMON += -D_REENTRANT -DNATIVE |
| endif |
| |
| # By default, gprof support is off |
| GPROF = false |
| |
| ifeq ($(GPROF), true) |
| CFLAGS_COMMON += -DGPROF -xpg |
| endif |
| |
| # turn JCOV on |
| JCOV = true |
| |
| ifeq ($(JCOV), true) |
| ifeq ($(VARIANT), DBG) |
| CFLAGS_COMMON += -DJCOV |
| endif |
| endif |
| |
| # Java memory management is based on memory mapping by default, but a |
| # system only assuming malloc/free can be built by adding -DUSE_MALLOC |
| |
| ifneq ($(CC_VERSION), gcc) |
| CPPFLAGS_COMMON = -D$(ARCH) -DSOLARIS2 -DRELEASE='"$(RELEASE)"' |
| else |
| CPPFLAGS_COMMON = -D$(ARCH) -DHAVE_ALIGNED_LONGLONGS -DHAVE_ALIGNED_DOUBLES -DSOLARIS2 -DRELEASE='"$(RELEASE)"' |
| endif |
| CPPFLAGS_OPT = -DTRIMMED |
| CPPFLAGS_DBG = -DDEBUG -DTRACING -DBREAKPTS |
| |
| ASFLAGS_COMMON = -P |
| ASFLAGS_OPT = |
| ASFLAGS_DBG = |
| |
| LDFLAGS_COMMON = -L$(OPENWINHOME)/lib |
| LDFLAGS_OPT = |
| LDFLAGS_DBG = |
| |
| LDLIBS_COMMON = |
| LDLIBS_OPT = |
| LDLIBS_DBG = |
| |
| ifeq ($(THREADS_FLAG),native) |
| LDLIBS_COMMON += -lthread |
| endif |
| |
| ifeq ($(GPROF), true) |
| LDLIBS_COMMON += -xpg |
| endif |
| |
| # |
| # Java variations |
| # |
| ifeq ($(PRODUCT), java) |
| # Java default optimization -x04 |
| ifneq ($(CC_VERSION), gcc) |
| _OPT = -xO4 |
| else |
| _OPT = -O3 |
| endif |
| CPPFLAGS_DBG += -DLOGGING -DDBINFO |
| ASFLAGS_COMMON += -D_ASM |
| LDLIBS_COMMON += -lm -ldl |
| endif |
| |
| # |
| # Hotjava variations |
| # |
| ifneq ($(PRODUCT), java) |
| # Hotjava default optimization -x02 |
| ifneq ($(CC_VERSION), gcc) |
| _OPT = -xO2 |
| else |
| _OPT = -O2 |
| endif |
| endif |
| |
| # |
| # Tools |
| # |
| ifneq ($(CC_VERSION), gcc) |
| CC = cc |
| CPP = cc -E |
| else |
| CC = gcc |
| CPP = gcc -E |
| endif |
| AS = as |
| LD = /usr/ccs/bin/ld |
| |
| OPENWINHOME = /usr/openwin |
| |
| LIBRARY_SUFFIX = so |
| |