Enable automated build and install runs on FreeBSD for ODE.
authorHans Lambermont <hans@lambermont.dyndns.org>
Sat, 11 Jan 2003 23:20:10 +0000 (23:20 +0000)
committerHans Lambermont <hans@lambermont.dyndns.org>
Sat, 11 Jan 2003 23:20:10 +0000 (23:20 +0000)
ODE does not build on FreeBSD out of the box, so an automated patchfile
is included as well.
The 'clean' target reverses the patches that were done by 'all'.

extern/Makefile
extern/ode/Makefile
extern/ode/patchfile.FreeBSD [moved from extern/ode/dist/FreeBSD-patch with 84% similarity]

index 5dbc6f4a0f9e516b63d8f78dc2f5dcf501968163..0225f78fabff451bfe3b2d171623b698a8172a04 100644 (file)
 # ***** END GPL/BL DUAL LICENSE BLOCK *****
 # Bounces make to subdirectories. Also installs after succesful all target.
 
+include nan_definitions.mk
+
 SOURCEDIR = extern
+DIR = $(OCGDIR)/extern
+DIRS = ode
 
-ALLDIRS = ode
+include nan_subdirs.mk
 
-all::
-       @for i in $(ALLDIRS); do \
+install:
+       @for i in $(DIRS); do \
            echo "====> $(MAKE) $@ in $(SOURCEDIR)/$$i" ;\
-           $(MAKE) -C $$i install || exit 1; \
+           $(MAKE) -C $$i $@ || exit 1; \
        done
 
index 9a0f6cbc4a415ec4794e1b1cc0ee42016bfd01d6..5e33148ec3eb5612a4648599f758d44cd8a1f288 100644 (file)
@@ -35,12 +35,16 @@ DISTDIR = dist
 CP = ../../intern/tools/cpifdiff.sh
 
 all:
-    ifeq ($(OS),$(findstring $(OS), "linux"))
+    ifeq ($(OS),freebsd)
+       (grep FreeBSD $(DISTDIR)/Makefile >/dev/null ; \
+           [ $$? -eq 0 ] || patch < patchfile.FreeBSD )
+    endif
+    ifeq ($(OS),$(findstring $(OS), "freebsd linux"))
        $(MAKE) -C $(DISTDIR)
     endif
 
-install:
-    ifeq ($(OS),$(findstring $(OS), "linux"))
+install: all
+    ifeq ($(OS),$(findstring $(OS), "freebsd linux"))
        @echo "====> $(MAKE) $@ in $(SOURCEDIR)"
        [ -d $(LCGDIR) ] || mkdir $(LCGDIR)
        [ -d $(NAN_ODE) ] || mkdir $(NAN_ODE)
@@ -58,7 +62,11 @@ install:
     endif
 
 clean:
-    ifeq ($(OS),$(findstring $(OS), "linux"))
+    ifeq ($(OS),$(findstring $(OS), "freebsd linux"))
        [ ! -f dist/Makefile ] || $(MAKE) -C dist clean
     endif
+    ifeq ($(OS),freebsd)
+       (grep FreeBSD $(DISTDIR)/Makefile >/dev/null ; \
+           [ $$? -ne 0 ] || patch -R < patchfile.FreeBSD )
+    endif
 
similarity index 84%
rename from extern/ode/dist/FreeBSD-patch
rename to extern/ode/patchfile.FreeBSD
index c1a94ae62c3dd923f9d6b432d800097762feb062..1725a3acc453802ed486bac51cc782cf18801951 100644 (file)
@@ -1,9 +1,11 @@
-diff -u -w -r1.2 Makefile
---- Makefile   4 Nov 2002 21:55:48 -0000       1.2
-+++ Makefile   4 Jan 2003 20:18:18 -0000
-@@ -243,13 +243,13 @@
+--- dist/Makefile.org  Sat Jan 11 23:55:46 2003
++++ dist/Makefile      Sat Jan 11 23:55:36 2003
+@@ -242,14 +242,16 @@
+ clean:
        -$(DEL_CMD) $(ODE_OBJECTS) $(ODE_TEST_EXE) $(ODE_LIB) $(DRAWSTUFF_OBJECTS) $(DRAWSTUFF_TEST_EXE) $(DRAWSTUFF_LIB) ode/test/*$(OBJ) drawstuff/dstest/*$(OBJ) $(CONFIGURATOR_EXE) $(CONFIG_H)
  
++# Patched for FreeBSD
++
  %$(OBJ): %.c
 -      $(CC) $(C_FLAGS) $(C_INC)$(INCPATH) $(DEFINES) $(C_OPT)1 $(C_OUT)$@ $<
 +      $(CC) $(C_FLAGS) $(C_INC)$(INCPATH) -I/usr/X11R6/include $(DEFINES) $(C_OPT)1 $(C_OUT)$@ $<