This updates the Makefiles for verse so they use the blender compiler
authorKent Mein <mein@cs.umn.edu>
Fri, 17 Nov 2006 18:12:12 +0000 (18:12 +0000)
committerKent Mein <mein@cs.umn.edu>
Fri, 17 Nov 2006 18:12:12 +0000 (18:12 +0000)
settings, and build system.  Now it builds the library in obj just like
other stuff instead of the source tree directly.
Its not doing the dynamic building of specific c files but JesterKing said
this should be ok.  So whine at him if its not.... ;)

Kent

extern/verse/Makefile
extern/verse/dist/Makefile

index 769bbe4d09c0f5443618aae959337b9f0c00f9bd..21620dcd2ce959d773cbdd4ec7f662edf71729e2 100644 (file)
 # Contributor(s): Jiri Hnidek
 #
 # ***** END GPL/BL DUAL LICENSE BLOCK *****
+LIBNAME = verse
+SOURCEDIR = extern/$(LIBNAME)
+DIR = $(OCGDIR)/$(SOURCEDIR)
+DIRS = dist
 
-include nan_definitions.mk
+include nan_subdirs.mk
 
 DISTDIR = dist
 CP = ../../intern/tools/cpifdiff.sh
@@ -38,23 +42,15 @@ ifeq ($(OS),windows)
     EXT = .exe
 endif
 
-all:
-       $(MAKE) -C $(DISTDIR)
-
-# fake debug target
-debug:
-
-install: all
+install: all debug
        @[ -d $(NAN_VERSE) ] || mkdir -p $(NAN_VERSE)
        @[ -d $(NAN_VERSE)/include ] || mkdir -p $(NAN_VERSE)/include
        @[ -d $(NAN_VERSE)/lib ] || mkdir -p $(NAN_VERSE)/lib
        @[ -d $(OCGDIR)/bin ] || mkdir -p $(OCGDIR)/bin
        @$(CP) $(DISTDIR)/*.h $(NAN_VERSE)/include
-       @$(CP) $(DISTDIR)/libverse.a $(NAN_VERSE)/lib
-       @$(CP) $(DISTDIR)/verse$(EXT) $(OCGDIR)/bin
+       @$(CP) $(DIR)/libverse.a $(NAN_VERSE)/lib
 ifeq ($(OS),darwin)
        ranlib $(NAN_VERSE)/lib/libverse.a
 endif
-
-clean:
-       $(MAKE) -C $(DISTDIR) clean
+       $(CC) $(LDFLAGS) -o $(DIR)/verse$(EXT) $(DIR)/libverse.a $(LIBS) $(SLIBS) $(LLIBS) $(DADD) $(LOPTS)
+       @$(CP) $(DIR)/verse$(EXT) $(OCGDIR)/bin
index 7dbcf4708dbe85bd10020dd61313f497f2e93812..69b5590b2bcbf47f20285a9580de55bfc9620dac 100644 (file)
@@ -7,86 +7,9 @@
 # and running other C files (this is the protocol definition).
 #
 
-CC     ?= gcc
-CFLAGS ?= "-I$(shell pwd)" -Wall -Wpointer-arith -Wno-unused-parameter -ansi -g # -pg -O2 -finline-functions
-LDFLAGS        ?= # -pg
+LIBNAME = verse
+DIR = $(OCGDIR)/extern/$(LIBNAME)
 
-AR     ?= ar
-ARFLAGS        = rus
-RANLIB ?= ranlib
+include nan_compile.mk
 
-TARGETS = libverse.a verse
-
-.PHONY:        all clean cleanprot
-
-# Automatically generated protocol things.
-PROT_DEF  = $(wildcard v_cmd_def_*.c)
-PROT_TOOL = v_cmd_gen.c $(PROT_DEF)
-PROT_OUT  = v_gen_pack_init.c v_gen_unpack_func.h verse.h \
-               $(patsubst v_cmd_def_%.c,v_gen_pack_%_node.c, $(PROT_DEF))
-
-# The API implementation is the protocol code plus a few bits.
-LIBVERSE_SRC =  $(PROT_OUT) v_bignum.c v_cmd_buf.c v_connect.c \
-               v_connection.c v_connection.h v_encryption.c \
-               v_func_storage.c v_internal_verse.h v_man_pack_node.c \
-               v_network.c v_network.h v_network_in_que.c v_network_out_que.c \
-               v_pack.c v_pack.h v_pack_method.c v_prime.c v_randgen.c v_util.c \
-               verse_ms.c
-
-LIBVERSE_OBJ = $(patsubst %h,, $(LIBVERSE_SRC:%.c=%.o))
-
-# The server is a simple 1:1 mapping, so just use wildcards.
-VERSE_SRC = $(wildcard vs_*.c)
-VERSE_OBJ = $(VERSE_SRC:%.c=%.o)
-
-# -----------------------------------------------------
-
-all:           $(TARGETS)
-
-verse:         $(VERSE_OBJ) libverse.a
-               $(CC) $(LDFLAGS) -o $@ $^
-
-libverse.a:    libverse.a($(LIBVERSE_OBJ))
-
-# -----------------------------------------------------
-
-# Here are the automatically generated pieces of the puzzle.
-# Basically, we generate v_gen_pack_X_node.c files by compiling
-# the v_cmd_def_X.c files together with some driver glue and
-# running the result.
-#
-
-# The autogen outputs all depend on the tool.
-$(PROT_OUT):   mkprot
-               ./mkprot
-
-# Build the protocol maker, from the definitions themselves.
-mkprot:                $(PROT_TOOL) verse_header.h
-               $(CC) -DV_GENERATE_FUNC_MODE -o $@ $(PROT_TOOL)
-
-# Clean away all the generated parts of the protocol implementation.
-cleanprot:     clean
-               rm -f mkprot $(PROT_OUT)
-
-# -----------------------------------------------------
-
-clean:
-       rm -f *.o $(TARGETS) mkprot
-
-# -----------------------------------------------------
-
-# Utter ugliness to create release archives. Needs to improve, but should work for a while.
-dist:
-       RELEASE=$$( \
-       R=`grep V_RELEASE_NUMBER verse.h | tr -s ' \t' | tr -d '"\r' | cut -d'  ' -f3` ; \
-       P=`grep V_RELEASE_PATCH verse.h | tr -s ' \t' | tr -d '"\r' | cut -d'   ' -f3` ; \
-       L=`grep V_RELEASE_LABEL verse.h | tr -s ' \t' | tr -d '"\r' | cut -d'   ' -f3` ; echo r$${R}p$$P$$L ) ; \
-       if [ $$RELEASE ]; then ( \
-        rm -rf  /tmp/verse; \
-        mkdir -p /tmp/verse; \
-        cp -a * /tmp/verse; \
-        cd /tmp && zip verse-$$RELEASE.zip -r verse -x 'verse/*CVS*' -x 'verse/.*' ; \
-        ); mv /tmp/verse-$$RELEASE.zip . \
-       ;else \
-         echo "Couldn't auto-set RELEASE from verse.h, something is fishy" \
-       ;fi
+# TARGETS = verse