# Configuration for SunOS 5, with gcc

include $(TOP)/configs/default

CONFIG_NAME = sunos5-gcc

# Compiler and flags
CC = gcc
CXX = g++

WARN_FLAGS = -Wall
OPT_FLAGS  = -O3 -g -fomit-frame-pointer -pipe
PIC_FLAGS  = -fPIC

ARCH_FLAGS ?=

DEFINES = -D_REENTRANT -DUSE_XSHM

ASM_SOURCES = $(SPARC_SOURCES)
ASM_API = $(SPARC_API)
ASM_FLAGS = -DUSE_SPARC_ASM

CFLAGS   = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
	$(ASM_FLAGS) -std=c99 -ffast-math -I/usr/openwin/include

CXXFLAGS = $(WARN_FLAGS) $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) \
	-I/usr/openwin/include

GLUT_CFLAGS = -fexceptions -DSOLARIS_2_4_BUG

# Work around aliasing bugs - developers should comment this out
CFLAGS += -fno-strict-aliasing
CXXFLAGS += -fno-strict-aliasing

# Library/program dependencies
EXTRA_LIB_PATH=-L/usr/openwin/lib

GL_LIB_DEPS = $(EXTRA_LIB_PATH) -lX11 -lXext -lXmu -lXi -lm
GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -l$(GLU_LIB) -l$(GL_LIB) -lm
APP_LIB_DEPS = -L$(TOP)/$(LIB_DIR) -lX11 -l$(GLUT_LIB) -l$(GLU_LIB) -l$(GL_LIB) -lm
