blob: 13d13cc43b022eaf35cc36e1f8bb1734c17bf640 [file] [log] [blame] [edit]
######################################################################
#
# Toro common library
#
# Note: This make file is dependent on the platform-specific ISM
# environment variable. ISM is platform-specific and is used
# to determine various build switches and directories.
#
# This make file currently supports (csh/tcsh shells):
# - setenv ISM linux_x86_64
# - setenv ISM linux_i686
# - setenv ISM sun8
#
# This make file currently supports (ksh/sh shells):
# - export ISM=linux_x86_64
# - export ISM=linux_i686
# - export ISM=sun8
#
######################################################################
######################################################################
# Compiler options
######################################################################
pC++linux_x86_64 = /usr/bin/gcc
pC++linux_i686 = /usr/bin/gcc
pC++sun8 = /apps/SUNWspro_6.0-U2/bin/CC
pC++ = $(pC++$(ISM))
PIClinux_x86_64 = -shared
PIClinux_i686 = -shared
PICsun8 = -G -KPIC
PIC = $(PIC$(ISM))
CFLAGSlinux_x86_64 = -Wall -Wpointer-arith -Wcast-qual -static -fPIC -DLINUX_X86_64
CFLAGSlinux_i686 = -Wall -Wpointer-arith -Wcast-qual -Wno-strict-aliasing -static -fPIC -DLINUX_I686
CFLAGSsun8 = +w -xarch=v9 -library=iostream,Cstd -DLP64 -DSUN8
CFLAGS = $(CFLAGS$(ISM)) \
-I. \
-I../TIO_InputOutputHandlers \
-I../../libcommon_c/pcre/SRC
######################################################################
# Linker options
######################################################################
LINKERlinux_x86_64 = /usr/bin/ld
LINKERlinux_i686 = /usr/bin/ld
LINKERsun8 = /usr/ccs/bin/ld
LINKER = $(LINKER$(ISM))
LFLAGSlinux_x86_64 = -shared
LFLAGSlinux_i686 = -shared
LFLAGSsun8 = -G -library=iostream -xarch=v9
LFLAGS = $(LFLAGS$(ISM))
######################################################################
# Program files
######################################################################
PROG = libTC_Common
EXE = ../$(ISM)/$(PROG).a
ARCMDlinux_x86_64 = $(LINKER) -r -o $(ISM)/$(PROG).a $(OBJECTS) ; \
mv $(ISM)/$(PROG).a $(EXE)
ARCMDlinux_i686 = $(LINKER) -r -o $(ISM)/$(PROG).a $(OBJECTS) ; \
mv $(ISM)/$(PROG).a $(EXE)
ARCMDsun8 = $(pC++) -xar -xarch=v9 -library=iostream -o $(ISM)/$(PROG).a $(OBJECTS) ; \
mv $(ISM)/$(PROG).a $(EXE)
ARCMD = $(ARCMD$(ISM))
SOLlinux_x86_64 = so
SOLlinux_i686 = so
SOLsun8 = so
SOL = $(SOL$(ISM))
LIBSOlinux_x86_64 = ../linux_x86_64/$(PROG).$(SOL)
LIBSOlinux_i686 = ../linux_i686/$(PROG).$(SOL)
LIBSOsun8 = ../sun8/$(PROG).$(SOL)
LIBSO = $(LIBSO$(ISM))
OBJSlinux_x86_64 = linux_x86_64/TC_Name.o \
linux_x86_64/TC_NameFile.o \
linux_x86_64/TC_NameType.o \
linux_x86_64/TC_NameIndex.o \
linux_x86_64/TC_NameLength.o \
linux_x86_64/TC_SideName.o \
linux_x86_64/TC_SideIndex.o \
linux_x86_64/TC_IndexCount.o \
linux_x86_64/TC_Index.o \
linux_x86_64/TC_MapTable.o \
linux_x86_64/TC_Bit.o \
linux_x86_64/TC_MinGrid.o \
linux_x86_64/TC_RegExp.o \
linux_x86_64/TC_StringUtils.o \
linux_x86_64/TC_MemoryUtils.o
OBJSlinux_i686 = linux_i686/TC_Name.o \
linux_i686/TC_NameFile.o \
linux_i686/TC_NameType.o \
linux_i686/TC_NameIndex.o \
linux_i686/TC_NameLength.o \
linux_i686/TC_SideName.o \
linux_i686/TC_SideIndex.o \
linux_i686/TC_IndexCount.o \
linux_i686/TC_Index.o \
linux_i686/TC_MapTable.o \
linux_i686/TC_Bit.o \
linux_i686/TC_MinGrid.o \
linux_i686/TC_RegExp.o \
linux_i686/TC_StringUtils.o \
linux_i686/TC_MemoryUtils.o
OBJSsun8 = sun8/TC_Name.o \
sun8/TC_NameFile.o \
sun8/TC_NameType.o \
sun8/TC_NameIndex.o \
sun8/TC_NameLength.o \
sun8/TC_SideName.o \
sun8/TC_SideIndex.o \
sun8/TC_IndexCount.o \
sun8/TC_Index.o \
sun8/TC_MapTable.o \
sun8/TC_Bit.o \
sun8/TC_MinGrid.o \
sun8/TC_RegExp.o \
sun8/TC_StringUtils.o \
sun8/TC_MemoryUtils.o
OBJECTS = $(OBJS$(ISM))
######################################################################
# Target rules
######################################################################
BUILD_TARGET =
all:
make Debug
Optimized:
make $(EXE) CFLAGS="-O2 $(CFLAGS)" BUILD_TARGET=Optimized
Debug:
make $(EXE) CFLAGS="-g -DDEBUG $(CFLAGS)" BUILD_TARGET=Debug
Gprof:
make $(EXE) CFLAGS="-pg -g -DDEBUG $(CFLAGS)" BUILD_TARGET=Debug
clean:
rm -f $(EXE) $(ISM)/*.o
.cxx.o:;
.cxx.a:;
######################################################################
# Program rules
######################################################################
$(EXE): $(LIBSO)
$(ARCMD)
$(LIBSOlinux_x86_64): $(OBJECTS) Makefile
$(pC++) $(LFLAGS) -o $(ISM)/$(PROG).$(SOL) $(OBJECTS) ; \
mv $(ISM)/$(PROG).$(SOL) $@
$(LIBSOlinux_i686): $(OBJECTS) Makefile
$(pC++) $(LFLAGS) -o $(ISM)/$(PROG).$(SOL) $(OBJECTS) ; \
mv $(ISM)/$(PROG).$(SOL) $@
$(LIBSOsun8): $(OBJECTS) Makefile
$(pC++) $(LFLAGS) -o $(ISM)/$(PROG).$(SOL) $(OBJECTS) ; \
mv $(ISM)/$(PROG).$(SOL) $@
$(OBJECTS): $(ISM)/%.o:%.cxx
$(pC++) -o $@ -c $(@F:.o=.cxx) $(PIC) $(CFLAGS)
######################################################################
# Library rules
######################################################################
../$(ISM)/libTIO_InputOutputHandlers.a:
cd ../TIO_InputOutputHandlers ; $(MAKE) $(BUILD_TARGET)