diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 114 |
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 + |