OS = $(shell uname -s | perl -ne ' \
if (/^cygwin/i) { \
print q/cygwin/ \
} elsif (/^linux/i) { \
print q/linux/ \
} elsif (/^aix/i) { \
print q/aix/ \
} elsif (/^SunOS/i) { \
print q/sun/ \
} elsif (/^hp/i) { \
print q/hp/ \
} else { \
print q/unknow/ \
} ')
ifeq ($(OS), aix)
# -brtl :
# Tells the linkage editor to accept both .so and .a library file types.
# -bdynamic, -bstatic :
# Determines which types of library files are searched by the linkage editor.
# -p :
# Generate profiling support code. Same as -qprofile=p.
# -G :
# Tells the linkage editor to create a dynamic library.
cpp = xlC
bits = 64
cppflag = -q$(bits) -O2
ldflag = -brtl -bexpall
syslib = -lm -lc -ldl -ltli -lpthread
# -r :
# Replaces a named file if it already appears in the library.
# -v :
# Writes to standard output a verbose file-by-file description of the making of the new library.
ar = ar -rv -X$(bits)
size = size -X$(bits)
makeso = makeC++SharedLib_r -brtl -X$(bits) -O2 -p 50 -bh:5
endif
ifeq ($(OS), linux)
cpp = g++
bits = 64
ar = ar rv
cppflag = -m$(bits) -fPIC -Wall -O2 -g
size = size
ldflag = -rdynamic -ldl
syslib = -lrt
makeso = $(cpp) -shared
endif
ifeq ($(OS), sun)
cpp = CC
bits = 64
cppflag = -xarch=v9 -g
endif
if (/^cygwin/i) { \
print q/cygwin/ \
} elsif (/^linux/i) { \
print q/linux/ \
} elsif (/^aix/i) { \
print q/aix/ \
} elsif (/^SunOS/i) { \
print q/sun/ \
} elsif (/^hp/i) { \
print q/hp/ \
} else { \
print q/unknow/ \
} ')
ifeq ($(OS), aix)
# -brtl :
# Tells the linkage editor to accept both .so and .a library file types.
# -bdynamic, -bstatic :
# Determines which types of library files are searched by the linkage editor.
# -p :
# Generate profiling support code. Same as -qprofile=p.
# -G :
# Tells the linkage editor to create a dynamic library.
cpp = xlC
bits = 64
cppflag = -q$(bits) -O2
ldflag = -brtl -bexpall
syslib = -lm -lc -ldl -ltli -lpthread
# -r :
# Replaces a named file if it already appears in the library.
# -v :
# Writes to standard output a verbose file-by-file description of the making of the new library.
ar = ar -rv -X$(bits)
size = size -X$(bits)
makeso = makeC++SharedLib_r -brtl -X$(bits) -O2 -p 50 -bh:5
endif
ifeq ($(OS), linux)
cpp = g++
bits = 64
ar = ar rv
cppflag = -m$(bits) -fPIC -Wall -O2 -g
size = size
ldflag = -rdynamic -ldl
syslib = -lrt
makeso = $(cpp) -shared
endif
ifeq ($(OS), sun)
cpp = CC
bits = 64
cppflag = -xarch=v9 -g
endif