aboutsummaryrefslogtreecommitdiff
path: root/vendor/voclient/libsamp/Makefile
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
commitfa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 (patch)
treebdda434976bc09c864f2e4fa6f16ba1952b1e555 /vendor/voclient/libsamp/Makefile
downloadiraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz
Initial commit
Diffstat (limited to 'vendor/voclient/libsamp/Makefile')
-rw-r--r--vendor/voclient/libsamp/Makefile223
1 files changed, 223 insertions, 0 deletions
diff --git a/vendor/voclient/libsamp/Makefile b/vendor/voclient/libsamp/Makefile
new file mode 100644
index 00000000..011c90b9
--- /dev/null
+++ b/vendor/voclient/libsamp/Makefile
@@ -0,0 +1,223 @@
+#///////////////////////////////////////////////////////////////////////////////
+#//
+#// Makefile for the SAMP Interface
+#//
+#///////////////////////////////////////////////////////////////////////////////
+
+# primary dependencies
+
+NAME = samp
+VERSION = 1.0
+PLATFORM := $(shell uname -s)
+#PLMACH := $(shell uname -m)
+PLMACH := $(shell ../getarch)
+HERE := $(shell /bin/pwd)
+BINDIR := ../bin/
+LIBDIR := ../lib/
+INCDIR := ../include/
+
+
+# secondary dependencies
+
+LIBBASE = lib$(NAME)
+STATICLIB = $(LIBDIR)/$(LIBBASE).a
+SHAREDLIB = $(LIBDIR)/$(LIBBASE).so.$(VERSION)
+
+
+# includes, flags and libraries
+CC = gcc
+CINCS = -I$(INCDIR) -I.
+
+ifeq ($(PLATFORM),Darwin)
+ ifeq ($(PLMACH),x86_64)
+ CARCH = -m64 -mmacosx-version-min=10.5
+ else
+ CARCH = -arch i386 -m32 -mmacosx-version-min=10.4
+ endif
+ ifdef IRAFARCH
+ ifeq ($(IRAFARCH),macintel)
+ CARCH = -m64 -mmacosx-version-min=10.5
+ else
+ CARCH = -arch i386 -m32 -mmacosx-version-min=10.5
+ endif
+ endif
+else
+ CLIBS = -lm -lc -lpthread -lcurl
+ CARCH =
+endif
+
+CLIBS = -lm -lc -lcurl -lpthread
+CFLAGS = -g -Wall $(CARCH) -D$(PLATFORM) $(CINCS) -DIRAF -L./
+
+
+
+# list of source and include files
+SRCS = samp.c sampHub.c sampCommands.c sampHandlers.c \
+ sampClient.c sampMsg.c sampParam.c sampMTypes.c \
+ sampMethods.c sampList.c sampLog.c sampMap.c sampUtil.c
+OBJS = samp.o sampHub.o sampCommands.o sampHandlers.o \
+ sampClient.o sampMsg.o sampParam.o sampMTypes.o \
+ sampMethods.o sampList.o sampLog.o sampMap.o sampUtil.o
+INCS = samp.h sampDecl.h
+LIBS = lib$(NAME).a $(CLIBS)
+
+APPS =
+
+
+all: .BASE lib install
+
+World: .BASE lib apps install
+
+install: .BASE lib apps
+ cp lib$(NAME).a $(LIBDIR)
+ cp $(INCS) $(INCDIR)
+ /bin/rm -rf *.o
+
+objs: $(OBJS) $(INCS)
+
+clean:
+ /bin/rm -f *.o *.a *.e *.so .BASE $(APPS) __*
+ (cd examples ; make clean)
+ (cd libxrpc ; make clean)
+ /bin/rm -rf libxrpc/lib/build/* libxrpc/lib/*.dylib
+ /bin/rm -f SWIG* libvot* php_libvot.h
+ /bin/rm -f sampJava.[co]
+ /bin/rm -f sampPerl.[co]
+ /bin/rm -f sampPython.[co]
+ /bin/rm -f sampTcl.[co]
+ /bin/rm -f sampPhp.[co]
+ /bin/rm -f sampCSharp.[co]
+ /bin/rm -f sampRuby.[co]
+
+
+
+####################################
+# LIBSAMP Apps
+####################################
+
+apps: $(APPS) $(INCS)
+
+zztest: zztest.o $(OBJS) lib
+ $(CC) $(CFLAGS) -o zztest zztest.o $(SAMP_OBJS) $(LFLAGS) $(LIBS)
+
+
+
+####################################
+# LIBSAMP dependency libraries.
+####################################
+
+.BASE:
+ (cd libxrpc ; ./mklibs ; make install)
+ touch .BASE
+
+lib: objs $(INCS)
+ ar r lib$(NAME).a $(OBJS) 2>&1 /dev/null
+
+
+
+###############################################################################
+# SWIG Wrapper code generation
+###############################################################################
+
+wrap_code: tcl_wrap py_wrap perl_wrap java_wrap # php_wrap ruby_wrap mono_wrap
+
+
+tcl_wrap: samp.i
+ (swig -tcl -o sampTcl.c samp.i )
+ make tcl_lib
+
+py_wrap: samp.i
+ (swig -python -o sampPython.c samp.i )
+ make python_lib
+
+perl_wrap: samp.i
+ (swig -perl -o sampPerl.c samp.i )
+ make perl_lib
+
+java_wrap: samp.i
+ (swig -java -o sampJava.c samp.i )
+ make java_lib
+
+php_wrap: samp.i
+ (swig -php -o sampPhp.c samp.i )
+ make php_lib
+
+ruby_wrap: samp.i
+ (swig -ruby -o sampRuby.c samp.i )
+ #make ruby_lib
+
+mono_wrap: samp.i
+ (swig -csharp -o sampCSharp.c samp.i )
+ #make mono_lib
+
+
+
+##############################################################################
+#
+# SWIG Wrapper share library builds -- highly platform dependent!!
+#
+##############################################################################
+
+wrap_libs: wrap_code tcl_lib python_lib perl_lib java_lib
+
+tcl_lib: samp.i
+ $(CC) -fPIC -c $(SRCS) sampTcl.c
+ $(CC) -shared $(OBJS) sampTcl.o -o lib$(NAME).so
+ $(RM) samp_wrap.*
+
+
+PY_INCS = -I. -I/usr/include/python2.2 -I/usr/include/python2.3 \
+ -I/usr/include/python2.4 -I/usr/include/python2.5
+
+python_lib: samp.i
+ $(CC) -w -c $(PY_INCS) $(SRCS) sampPython.c
+ ld -shared $(OBJS) sampPython.o -o _lib$(NAME).so
+ $(RM) samp_wrap.*
+
+perl_lib: samp.i
+ gcc -c $(SRCS) sampPerl.c `perl -MExtUtils::Embed -e ccopts`
+ ld -G $(OBJS) -o lib$(NAME).so
+ $(RM) samp_wrap.*
+
+
+JWRAP_FLAGS = -I/usr/java/j2sdk/include/ -I/usr/java/j2sdk/include/linux
+
+java_lib: samp.i
+ gcc -fpic -c $(WRAP_SRCS) sampJava.c $(JWRAP_FLAGS)
+ gcc -shared $(WRAP_OBJS) sampJava.o -o lib$(NAME).so
+ $(RM) samp_wrap.*
+
+
+
+PHP_INCS = -I. -I/usr/include/php -I/usr/local/include/php \
+ -I/usr/local/php -I/usr/include/php/Zend \
+ -I/usr/local/include/php/Zend
+
+php_lib: samp.i
+ gcc -fpic -c $(PHP_INCS) $(WRAP_SRCS) sampPhp.c
+ gcc -shared $(WRAP_OBJS) sampPhp.o -o lib$(NAME).so
+ $(RM) samp_wrap.*
+
+
+
+
+
+###############################################################################
+# Leave this stuff alone.
+###############################################################################
+
+$(STATICLIB): $(SRCS:%.c=Static/%.o)
+ /usr/bin/ar r $@ $?
+Static/%.o: %.c $(INCS)
+ /usr/bin/gcc $(CINCS) $(CFLAGS) -c $< -o $@
+Static:
+ /bin/mkdir $@
+ chmod 777 $@
+
+$(SHAREDLIB): $(SRCS:%.c=Shared/%.o)
+ /usr/bin/ld -shared -o $@ $? -lc -ldl
+Shared/%.o: %.c $(INCS)
+ /usr/bin/gcc $(CINCS) $(CFLAGS) -fpic -shared -c $< -o $@
+Shared:
+ /bin/mkdir $@
+ chmod 777 $@