summaryrefslogtreecommitdiff
path: root/src/Makefile
diff options
context:
space:
mode:
authorfourdan2007-01-29 10:09:59 +0000
committerfourdan2007-01-29 10:09:59 +0000
commit68e3c0ed570ba3e994f8a1c4b20594372fb0b514 (patch)
tree8d6c0d6876340742ea6f49dc9faa40aef9855563 /src/Makefile
parent6fc08ea508e4fa39a9bf7f5495e84a68bd0bf88a (diff)
parentf70181ffe0b37952384ff5e0ce0185541828014f (diff)
downloadivy-c-68e3c0ed570ba3e994f8a1c4b20594372fb0b514.zip
ivy-c-68e3c0ed570ba3e994f8a1c4b20594372fb0b514.tar.gz
ivy-c-68e3c0ed570ba3e994f8a1c4b20594372fb0b514.tar.bz2
ivy-c-68e3c0ed570ba3e994f8a1c4b20594372fb0b514.tar.xz
Rename protocol_v3 as trunk to avoid confusion on protocol version to use.
Diffstat (limited to 'src/Makefile')
-rw-r--r--src/Makefile193
1 files changed, 117 insertions, 76 deletions
diff --git a/src/Makefile b/src/Makefile
index b4f90ef..26789d0 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -4,11 +4,11 @@
# Copyright (C) 1997-2002
# Centre d'Études de la Navigation Aérienne
#
-# Makefile
+# Makefile
#
# Authors: François-Régis Colin <fcolin@cena.fr>
-# Stéphane Chatty <chatty@cena.fr>
-# Yannick Jestin <jestin@cena.fr>
+# Stéphane Chatty <chatty@cena.fr>
+# Yannick Jestin <jestin@cena.fr>
#
# Please refer to file version.h for the
# copyright notice regarding this software
@@ -16,11 +16,25 @@
# change this in version.h too !!!!
-MAJOR=4
-MINOR=0
+MAJOR=3
+MINOR=9
-XTINC = -I/usr/X11R6/include
-XTLIB = -L/usr/X11R6/lib -lXt -lX11 -lSM -lICE
+PERHAPS64 := $(shell uname -m | perl -ne "print /64/ ? '64' : '';")
+LIB = /lib$(PERHAPS64)
+ifeq ($(PERHAPS64), "64")
+ FPIC=
+else
+ FPIC=-fPIC
+endif
+
+ifndef PREFIX
+ PREFIX=/usr/local
+endif
+
+X11_PREFIX = /usr
+
+XTINC = -I$(X11_PREFIX)/include
+XTLIB = -L$(X11_PREFIX)$(LIB) -lXt -lX11 -lSM -lICE
GLIBINC = `pkg-config --cflags glib-2.0`
GLIBLIB = `pkg-config --libs glib-2.0`
GLUTINC = -I/usr/include -I.
@@ -30,19 +44,22 @@ GLUTLIB = -L. -lglut -lGLU -lGL -lX11 -lXmu
#TCLVERS = `perl -e '@_=sort map (m|/usr/lib/libtcl(\d\.\d)\.so|, glob ("/usr/lib/libtcl*")); print pop @_'`
TCLVERS:= $(shell perl -e '@_=sort map (m|/usr/lib/libtcl(\d\.\d)\.so|, glob ("/usr/lib/libtcl*")); print pop @_')
ifndef TCLVERS
+TCLVERS:= $(shell perl -e '@_=sort map (m|/usr/lib64/libtcl(\d\.\d)\.so|, glob ("/usr/lib64/libtcl*")); print pop @_')
+endif
+ifndef TCLVERS
TCLVERS=8.3
endif
-TCLINCL = -I/usr/include/tcl$(TCLVERS)
+TCLINCL = -I/usr/include/tcl$(TCLVERS)
TCLLIB = -ltcl$(TCLVERS)
#TCLINCL = -I/usr/include/tcl8.4
#TCLLIB = -ltcl8.4
# use these if you want to use Aqua Tcl on macOSX
-#TCLINC = -I/Library/Frameworks/Tcl.framework/Headers
+#TCLINC = -I/Library/Frameworks/Tcl.framework/Headers
#TCLLIB = -framework Tcl
PCREINC = `pcre-config --cflags`
PCRELIB = `pcre-config --libs`
-CASESENSITIVE = "no"
+CASESENSITIVE = "yes"
ifeq ($(CASESENSITIVE), "no")
PCRE_OPT=PCRE_CASELESS
REGCOMP_OPT=REG_ICASE
@@ -61,22 +78,24 @@ CC=gcc
LIBTOOL=ar q # linux and solaris
#LIBTOOL=libtool -static -o
-#REGEXP = -DGNU_REGEXP -DREGCOMP_OPT=$(REGCOMP_OPT) # deprecated !
+#REGEXP = -DGNU_REGEXP -DREGCOMP_OPT=$(REGCOMP_OPT) # deprecated !
REGEXP= -DUSE_PCRE_REGEX -DPCRE_OPT=$(PCRE_OPT)
# on activeTCL , set #define CHANNEL to null, and add ivyloop.o in the ivytcl target,
# see below
CHANNEL = -DTCL_CHANNEL_INTEGRATION
-CFLAGS = -g -Wall #-DDEBUG
-
-COMOBJ = hash.o ivysocket.o ivybind.o ivyargument.o ivy.o
-OBJ = $(COMOBJ) ivyloop.o timer.o
-XTOBJ = $(COMOBJ) ivyxtloop.o
-GLIBOBJ = $(COMOBJ) ivyglibloop.o
-GLUTOBJ = $(COMOBJ) ivyglutloop.o
-TCLOBJ = $(COMOBJ) ivytcl.o timer.o
+CFLAGS = -g -Wall $(FPIC)
+
+
+OBJ = ivyloop.o timer.o ivysocket.o ivy.o ivybuffer.o ivybind.o intervalRegexp.o
+GOBJ = ivyloop.o timer.o ivysocket.o givy.o ivybuffer.o ivybind.o intervalRegexp.o
+XTOBJ = ivyxtloop.o ivysocket.o ivy.o ivybuffer.o ivybind.o intervalRegexp.o
+GLIBOBJ = ivyglibloop.o ivysocket.o ivy.o ivybuffer.o ivybind.o intervalRegexp.o
+GLUTOBJ = ivyglutloop.o ivysocket.o ivy.o ivybuffer.o ivybind.o intervalRegexp.o
+TCLOBJ = ivytcl.o timer.o ivysocket.o givy.o ivybuffer.o ivybind.o intervalRegexp.o
+
# WINDOWS add ivyloop.o if TCL_CHANNEL_INTEGRATION is not set
TARGETS = ivyprobe ivyperf ivyglibprobe ivyxtprobe
-TARGETLIBS=libivy.so.$(MAJOR).$(MINOR) libxtivy.so.$(MAJOR).$(MINOR) libglibivy.so.$(MAJOR).$(MINOR) libtclivy.so.$(MAJOR).$(MINOR)
+TARGETLIBS=libivy.so.$(MAJOR).$(MINOR) libgivy.so.$(MAJOR).$(MINOR) libxtivy.so.$(MAJOR).$(MINOR) libglibivy.so.$(MAJOR).$(MINOR) libtclivy.so.$(MAJOR).$(MINOR)
# not yet need Modified Glut ivyglutprobe
.c.o:
@@ -84,7 +103,7 @@ TARGETLIBS=libivy.so.$(MAJOR).$(MINOR) libxtivy.so.$(MAJOR).$(MINOR) libglibivy.
all: static-libs commands shared-libs
-static-libs: libivy.a libxtivy.a libglibivy.a libtclivy.a
+static-libs: libivy.a libgivy.a libxtivy.a libglibivy.a libtclivy.a
# not yet need Modified Glut libglutivy.a
shared-libs: $(TARGETLIBS)
@@ -92,17 +111,15 @@ shared-libs: $(TARGETLIBS)
commands: $(TARGETS)
-ivytcl.o: ivytcl.c
- $(CC) -c $(CFLAGS) $(TCLINCL) $(CHANNEL) ivytcl.c
-
-ivy.o: ivy.c
- $(CC) -c $(CFLAGS) ivy.c
-
ivybind.o: ivybind.c
$(CC) -c $(CFLAGS) $(REGEXP) $(PCREINC) ivybind.c
-ivyargument.o: ivyargument.c
- $(CC) -c $(CFLAGS) $(REGEXP) $(PCREINC) ivyargument.c
+
+ivytcl.o: ivytcl.c
+ $(CC) -c $(CFLAGS) $(TCLINCL) $(CHANNEL) ivytcl.c
+
+givy.o: ivy.c
+ $(CC) -c $(CFLAGS) -DDEBUG -o givy.o ivy.c
ivyglutloop.o: ivyglutloop.c ivyglutloop.h
$(CC) -c $(CFLAGS) $(GLUTINC) ivyglutloop.c
@@ -115,13 +132,10 @@ ivyprobe: ivyprobe.o libivy.a
ivyprobe.o : ivyprobe.c
$(CC) $(CFLAGS) $(REGEXP) -c ivyprobe.c -o $@
-
+
ivyperf: ivyperf.o libivy.a
$(CC) $(CFLAGS) -o $@ ivyperf.o -L. -livy $(PCRELIB) $(EXTRALIB)
-ivyperf.o : ivyperf.c
- $(CC) $(CFLAGS) $(REGEXP) -c ivyperf.c -o $@
-
ivyxtprobe.o : ivyprobe.c
$(CC) $(CFLAGS) $(REGEXP) -DXTMAINLOOP -c ivyprobe.c -o $@ $(XTINC)
@@ -144,6 +158,10 @@ libivy.a: $(OBJ)
rm -f $@
$(LIBTOOL) $@ $(OBJ)
+libgivy.a: $(GOBJ)
+ rm -f $@
+ $(LIBTOOL) $@ $(GOBJ)
+
libxtivy.a: $(XTOBJ)
rm -f $@
$(LIBTOOL) $@ $(XTOBJ)
@@ -166,6 +184,11 @@ libivy.so.$(MAJOR).$(MINOR): $(OBJ)
# $(CC) -G -Wl,-h,libivy.so.$(MAJOR) -o $@ $(OBJ) #solaris
# libtool -dynamic -o $@ $(OBJ) $(PCRELIB) -lc
+libgivy.so.$(MAJOR).$(MINOR): $(GOBJ)
+ $(CC) -shared -Wl,-soname,libgivy.so.$(MAJOR) -o $@ $(GOBJ) $(PCRELIB)
+# $(CC) -G -Wl,-h,libgivy.so.$(MAJOR) -o $@ $(GOBJ) #solaris
+# libtool -dynamic -o $@ $(GOBJ) $(PCRELIB) -lc
+
libxtivy.so.$(MAJOR).$(MINOR): $(XTOBJ)
$(CC) -shared -Wl,-soname,libxtivy.so.$(MAJOR) -o $@ $(XTOBJ) $(XTLIB) $(PCRELIB)
# $(CC) -G -Wl,-h,libxtivy.so.$(MAJOR) -o $@ $(XTOBJ) $(XTLIB) #solaris
@@ -190,55 +213,73 @@ clean:
-rm -f $(TARGETS) $(TARGETLIBS) *.o *.a *.so *.so.* *~
installlibs: static-libs shared-libs
- test -d $(PREFIX)/usr/lib || mkdirhier $(PREFIX)/usr/lib
- test -d $(PREFIX)/usr/X11R6/lib || mkdirhier $(PREFIX)/usr/X11R6/lib
- test -d $(PREFIX)/usr/include || mkdirhier $(PREFIX)/usr/include
- install -m644 libivy.a $(PREFIX)/usr/lib
- install -m644 libxtivy.a $(PREFIX)/usr/X11R6/lib
- install -m644 libtclivy.a $(PREFIX)/usr/lib
- install -m644 libglibivy.a $(PREFIX)/usr/lib
-
- install -m644 libivy.so.$(MAJOR).$(MINOR) $(PREFIX)/usr/lib
- install -m644 libxtivy.so.$(MAJOR).$(MINOR) $(PREFIX)/usr/X11R6/lib
- install -m644 libtclivy.so.$(MAJOR).$(MINOR) $(PREFIX)/usr/lib
- install -m644 libglibivy.so.$(MAJOR).$(MINOR) $(PREFIX)/usr/lib
-
- install -m644 *.h $(PREFIX)/usr/include
+ test -d $(DESTDIR)$(PREFIX)$(LIB) || mkdirhier $(DESTDIR)$(PREFIX)$(LIB)
+ test -d $(DESTDIR)$(X11_PREFIX)$(LIB) || mkdirhier $(DESTDIR)$(X11_PREFIX)$(LIB)
+
+ install -m644 libivy.a $(DESTDIR)$(PREFIX)$(LIB)
+ install -m644 libgivy.a $(DESTDIR)$(PREFIX)$(LIB)
+ install -m644 libxtivy.a $(DESTDIR)$(X11_PREFIX)$(LIB)
+ install -m644 libtclivy.a $(DESTDIR)$(PREFIX)$(LIB)
+ install -m644 libglibivy.a $(DESTDIR)$(PREFIX)$(LIB)
+
+ install -m644 libivy.so.$(MAJOR).$(MINOR) $(DESTDIR)$(PREFIX)$(LIB)
+ install -m644 libgivy.so.$(MAJOR).$(MINOR) $(DESTDIR)$(PREFIX)$(LIB)
+ install -m644 libxtivy.so.$(MAJOR).$(MINOR) $(DESTDIR)$(X11_PREFIX)$(LIB)
+ install -m644 libtclivy.so.$(MAJOR).$(MINOR) $(DESTDIR)$(PREFIX)$(LIB)
+ install -m644 libglibivy.so.$(MAJOR).$(MINOR) $(DESTDIR)$(PREFIX)$(LIB)
+
+includes:
+ test -d $(DESTDIR)$(PREFIX)/include/Ivy || mkdirhier $(DESTDIR)$(PREFIX)/include/Ivy
+ install -m644 ivy.h $(DESTDIR)$(PREFIX)/include/Ivy/
+ install -m644 ivybind.h $(DESTDIR)$(PREFIX)/include/Ivy/
+ install -m644 ivybuffer.h $(DESTDIR)$(PREFIX)/include/Ivy/
+ install -m644 ivychannel.h $(DESTDIR)$(PREFIX)/include/Ivy/
+ install -m644 ivydebug.h $(DESTDIR)$(PREFIX)/include/Ivy/
+ install -m644 ivyglibloop.h $(DESTDIR)$(PREFIX)/include/Ivy/
+ install -m644 ivyglutloop.h* $(DESTDIR)$(PREFIX)/include/Ivy/
+ install -m644 ivyloop.h $(DESTDIR)$(PREFIX)/include/Ivy/
+ install -m644 ivysocket.h $(DESTDIR)$(PREFIX)/include/Ivy/
+ install -m644 ivytcl.h* $(DESTDIR)$(PREFIX)/include/Ivy/
+ install -m644 ivyxtloop.h $(DESTDIR)$(PREFIX)/include/Ivy/
+ install -m644 list.h $(DESTDIR)$(PREFIX)/include/Ivy/
+ install -m644 timer.h $(DESTDIR)$(PREFIX)/include/Ivy/
+ install -m644 version.h $(DESTDIR)$(PREFIX)/include/Ivy/
installliblinks: installlibs
- ln -fs /usr/lib/libivy.so.$(MAJOR).$(MINOR) $(PREFIX)/usr/lib/libivy.so
- ln -fs /usr/lib/libivy.so.$(MAJOR).$(MINOR) $(PREFIX)/usr/lib/libivy.so.$(MAJOR)
- ln -fs /usr/X11R6/lib/libxtivy.so.$(MAJOR).$(MINOR) $(PREFIX)/usr/X11R6/lib/libxtivy.so
- ln -fs /usr/X11R6/lib/libxtivy.so.$(MAJOR).$(MINOR) $(PREFIX)/usr/X11R6/lib/libxtivy.so.$(MAJOR)
- ln -fs /usr/lib/libtclivy.so.$(MAJOR).$(MINOR) $(PREFIX)/usr/lib/libtclivy.so
- ln -fs /usr/lib/libtclivy.so.$(MAJOR).$(MINOR) $(PREFIX)/usr/lib/libtclivy.so.$(MAJOR)
+ ln -fs $(PREFIX)$(LIB)/libivy.so.$(MAJOR).$(MINOR) $(DESTDIR)$(PREFIX)$(LIB)/libivy.so
+ ln -fs $(PREFIX)$(LIB)/libivy.so.$(MAJOR).$(MINOR) $(DESTDIR)$(PREFIX)$(LIB)/libivy.so.$(MAJOR)
+ ln -fs $(PREFIX)$(LIB)/libgivy.so.$(MAJOR).$(MINOR) $(DESTDIR)$(PREFIX)$(LIB)/libgivy.so
+ ln -fs $(PREFIX)$(LIB)/libgivy.so.$(MAJOR).$(MINOR) $(DESTDIR)$(PREFIX)$(LIB)/libgivy.so.$(MAJOR)
+ ln -fs $(X11_PREFIX)$(LIB)/libxtivy.so.$(MAJOR).$(MINOR) $(DESTDIR)$(X11_PREFIX)$(LIB)/libxtivy.so
+ ln -fs $(X11_PREFIX)$(LIB)/libxtivy.so.$(MAJOR).$(MINOR) $(DESTDIR)$(X11_PREFIX)$(LIB)/libxtivy.so.$(MAJOR)
+ ln -fs $(PREFIX)$(LIB)/libtclivy.so.$(MAJOR).$(MINOR) $(DESTDIR)$(PREFIX)$(LIB)/libtclivy.so
+ ln -fs $(PREFIX)$(LIB)/libtclivy.so.$(MAJOR).$(MINOR) $(DESTDIR)$(PREFIX)$(LIB)/libtclivy.so.$(MAJOR)
installbins: commands
- test -d $(PREFIX)/usr/bin || mkdirhier $(PREFIX)/usr/bin
- test -d $(PREFIX)/usr/X11R6/bin || mkdirhier $(PREFIX)/usr/X11R6/bin
- install -m755 ivyprobe $(PREFIX)/usr/bin
- #install -m755 ivyxtprobe $(PREFIX)/usr/X11R6/bin
- #install -m755 ivyglibprobe $(PREFIX)/usr/bin
- #install -m755 ivyglutprobe $(PREFIX)/usr/X11R6/bin
+ test -d $(DESTDIR)$(PREFIX)/bin || mkdirhier $(DESTDIR)$(PREFIX)/bin
+ install -m755 ivyprobe $(DESTDIR)$(PREFIX)/bin
+ #install -m755 ivyxtprobe $(DESTDIR)$(PREFIX)/bin
+ #install -m755 ivyglibprobe $(DESTDIR)$(PREFIX)/bin
+ #install -m755 ivyglutprobe $(DESTDIR)$(PREFIX)/bin
installdocs:
- test -d $(PREFIX)/usr/share/doc/ivy-c || mkdirhier $(PREFIX)/usr/share/doc/ivy-c
- for f in `find ../doc/*.html -type f -maxdepth 1`; do \
- install -m 644 $$f $(PREFIX)/usr/share/doc/ivy-c; \
- done
- test -d $(PREFIX)/usr/man/man1 || mkdirhier $(PREFIX)/usr/man/man1
- for f in `find ../doc/*.1 -type f -maxdepth 1`; do \
- install -m 644 $$f $(PREFIX)/usr/man/man1; \
- done
- test -d $(PREFIX)/usr/share/doc/ivy-c/examples || mkdirhier $(PREFIX)/usr/share/doc/ivy-c/examples
- install -m 644 version.h $(PREFIX)/usr/share/doc/ivy-c/copyright
- install -m 644 ../examples/motifButtonIvy.c $(PREFIX)/usr/share/doc/ivy-c/examples
- install -m 644 ../examples/testUnbind.c $(PREFIX)/usr/share/doc/ivy-c/examples
- install -m 766 ../examples/Test.tcl $(PREFIX)/usr/share/doc/ivy-c/examples
- install -m 766 ../examples/button.tk $(PREFIX)/usr/share/doc/ivy-c/examples
- install -m 766 ../examples/unBind.tcl $(PREFIX)/usr/share/doc/ivy-c/examples
-
-install: installlibs installbins installliblinks installdocs
+ test -d $(DESTDIR)$(PREFIX)/share/doc/ivy-c || mkdirhier $(DESTDIR)$(PREFIX)/share/doc/ivy-c
+ for f in `find ../doc/*.html -type f -maxdepth 1`; do \
+ install -m 644 $$f $(DESTDIR)$(PREFIX)/share/doc/ivy-c; \
+ done
+ test -d $(DESTDIR)$(PREFIX)/man/man1 || mkdirhier $(DESTDIR)$(PREFIX)/man/man1
+ for f in `find ../doc/*.1 -type f -maxdepth 1`; do \
+ install -m 644 $$f $(DESTDIR)$(PREFIX)/man/man1; \
+ done
+ test -d $(DESTDIR)$(PREFIX)/share/doc/ivy-c/examples || mkdirhier $(DESTDIR)$(PREFIX)/share/doc/ivy-c/examples
+ install -m 644 version.h $(DESTDIR)$(PREFIX)/share/doc/ivy-c/copyright
+ install -m 644 ../examples/motifButtonIvy.c $(DESTDIR)$(PREFIX)/share/doc/ivy-c/examples
+ install -m 644 ../examples/testUnbind.c $(DESTDIR)$(PREFIX)/share/doc/ivy-c/examples
+ install -m 766 ../examples/Test.tcl $(DESTDIR)$(PREFIX)/share/doc/ivy-c/examples
+ install -m 766 ../examples/button.tk $(DESTDIR)$(PREFIX)/share/doc/ivy-c/examples
+ install -m 766 ../examples/unBind.tcl $(DESTDIR)$(PREFIX)/share/doc/ivy-c/examples
+
+install: installlibs installbins installliblinks installdocs includes
rpm::
/usr/bin/rpmize