summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile114
1 files changed, 114 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..d255e83
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,114 @@
+ifeq ($(SYSTEM),)
+SYSTEM=$(shell uname)
+endif
+TRUESYSTEM=$(shell uname)
+MACHINE=$(shell uname -m)
+DISTRIB=$(shell cat /etc/issue | cut -f 1 -d\ | head -1)
+GL_GLUE=gl-glue.s
+CC = gcc
+CXX = g++
+LD = g++
+AS = as
+AR = ar rcs
+USR=/usr
+LIBXM = -lXm
+ifeq ($(SYSTEM),Darwin)
+ARCH_FLAGS=-arch i386
+SHARED_FLAGS=-dynamiclib
+SHARED_EXT=dylib
+CPPFLAGS = -dynamic
+LD = g++ -arch i386
+STRIP = strip -x
+FINK=
+ifeq ($(TRUESYSTEM),Linux)
+CC = i686-apple-darwin9-gcc
+CXX = i686-apple-darwin9-g++
+LD = i686-apple-darwin9-g++ -arch i386 -mmacosx-version-min=10.5
+STRIP = i686-apple-darwin9-strip -x
+AS = i686-apple-darwin9-as -arch i386
+LIPO = i686-apple-darwin9-lipo
+AR = i686-apple-darwin9-ar rcs
+ARCH_FLAGS =
+LDFLAGS_MESA = -all_load ../Mesa-7.4.4-darwin9/lib/libGLU.a ../Mesa-7.4.4-darwin
+LUAJIT = ../LuaJIT-darwin9/src/libluajit.a
+USR=/usr/i686-apple-darwin9
+FINK=$(USR)
+LIBXM = $(FINK)
+endif
+LIBXM = $(FINK)/sw/lib/libXm.a -lXp
+else
+ARCH_FLAGS=-march=i686 -m32
+SHARED_FLAGS=-shared
+SHARED_EXT=so
+LD = g++ -m32
+STRIP = strip --strip-unneeded
+endif
+
+INCLUDES = \
+-I../Baltisot/include \
+-I../LuaJIT/src \
+-I $(FINK)/sw/include \
+
+HAVES = -DHAVE_VSSCANF -DHAVE_LIBJPEG -DHAVE_FCNTL -DHAVE_UNISTD_H -DHAVE_FORK -DHAVE_PIPE -DHAVE_FSYNC -DHAVE_MALLOC_H -DHAVE_ASPRINTF -DHAVE_BYTESWAP_H -DCD_NO_OLD_INTERFACE -DGTK_DISABLE_DEPRECATED -DIUPLUA_USELOH -DUSE_STATIC
+
+CPPFLAGS_NO_ARCH += $(INCLUDES) -O4 -fexceptions -DSTDC_HEADERS -DREADLINE_STATIC -DHOOK_STDS -DWORDS_LITTLEENDIAN $(HAVES) -DTEC_LITTLEENDIAN -g -DNDEBUG -DUSE_MGL_NAMESPACE
+CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS)
+
+LDFLAGS += $(ARCH_FLAGS) $(SHARED_FLAGS) -L$(FINK)/sw/lib ./lua-interface.$(SHARED_EXT)
+
+vpath %.c ../Baltisot/lib:../Baltisot/src:src
+vpath %.cc ../Baltisot/lib:../Baltisot/src:src
+vpath %.cpp ../Baltisot/lib:../Baltisot/src:src
+vpath %.lua ../Baltisot/lib:../Baltisot/src:src
+
+GMP_SOURCES = \
+plugin-luagmp.cc \
+lgmp.lua \
+
+GMP_LIBS = -lgmp
+
+WHOLE_SOURCES = \
+$(GMP_SOURCES) \
+
+MODULES_LIST = \
+luagmp.$(SHARED_EXT) \
+
+ALL_OBJECTS = $(addsuffix .o, $(notdir $(basename $(WHOLE_SOURCES))))
+ALL_DEPS = $(addsuffix .dep, $(notdir $(basename $(WHOLE_SOURCES))))
+
+all: dep modules
+
+dist: modules
+ mkdir -p ../lua-interface-dist
+ $(STRIP) $(MODULES_LIST)
+ cp $(MODULES_LIST) ../lua-interface-dist
+
+modules: $(MODULES_LIST)
+
+dep: $(ALL_DEPS)
+
+luagmp.a: $(addsuffix .o, $(notdir $(basename $(GMP_SOURCES))))
+ $(AR) $@ $+
+
+luagmp.$(SHARED_EXT): plugin-luagmp.o luagmp.a
+ $(LD) $(LDFLAGS) -o $@ $+ $(IM_LIBS) $(CD_LIBS) $(IUP_LIBS)
+
+clean:
+ rm -f *.o *.dep *.so *.dylib *.a
+
+%.dep : %.c
+ $(CC) $(CPPFLAGS_NO_ARCH) -M -MF $@ $<
+
+%.dep : %.cpp
+ $(CXX) $(CPPFLAGS_NO_ARCH) -M -MF $@ $<
+
+%.dep : %.cc
+ $(CXX) $(CPPFLAGS_NO_ARCH) -M -MF $@ $<
+
+%.c : %.lua
+ bin2c $< $@ $(basename $@)
+
+-include $(ALL_DEPS)
+
+.PHONY: dist clean
+