diff options
author | fourdan | 2007-01-29 10:09:59 +0000 |
---|---|---|
committer | fourdan | 2007-01-29 10:09:59 +0000 |
commit | 68e3c0ed570ba3e994f8a1c4b20594372fb0b514 (patch) | |
tree | 8d6c0d6876340742ea6f49dc9faa40aef9855563 /src/Makefile | |
parent | 6fc08ea508e4fa39a9bf7f5495e84a68bd0bf88a (diff) | |
parent | f70181ffe0b37952384ff5e0ce0185541828014f (diff) | |
download | ivy-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/Makefile | 193 |
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 |