From 6b7d6cb40d317bee3cc174f22547065d29e8c737 Mon Sep 17 00:00:00 2001 From: bustico Date: Tue, 25 Mar 2008 16:13:07 +0000 Subject: ajout makefile pour osx --- src/Makefile.osx | 24 +++++++------------- src/ivy.c | 13 ++++++----- tools/Makefile.osx | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 80 insertions(+), 22 deletions(-) create mode 100644 tools/Makefile.osx diff --git a/src/Makefile.osx b/src/Makefile.osx index efdaa29..1a0e42f 100644 --- a/src/Makefile.osx +++ b/src/Makefile.osx @@ -26,9 +26,7 @@ OBJ = ivyloop.o timer.o ivysocket.o ivy.o ivybuffer.o ivyfifo.o ivybind.o interv CC=gcc LIBTOOL=ar q # linux and solaris CFLAGS = -g -Wall $(FPIC) - -TARGETS = ivyprobe ivyperf ivythroughput - +TOOLS_DIR = ../tools # ------------------------------------------------------------------------------------------ .c.o: @@ -38,14 +36,12 @@ TARGETS = ivyprobe ivyperf ivythroughput $(CPP) $(CFLAGS) -c $*.cpp -all: static-libs commands shared-libs +all: static-libs shared-libs tools static-libs: libivy.a shared-libs: libivy.dylib -commands: $(TARGETS) - ivybind.o: ivybind.c $(CC) -c $(CFLAGS) $(REGEXP) $(PCREINC) ivybind.c @@ -56,21 +52,13 @@ libivy.a: $(OBJ) libivy.dylib: $(OBJ) $(CC) -dynamiclib -o $@ $(OBJ) $(PCRELIB) -ivyprobe: ivyprobe.o libivy.a - $(CC) $(CFLAGS) -o $@ ivyprobe.o -L. -livy $(PCRELIB) $(EXTRALIB) - -ivythroughput: ivythroughput.o libivy.a - $(CPP) $(CFLAGS) $(PCREINC) -o $@ ivythroughput.o -L. -livy -lpcrecpp $(PCRELIB) $(EXTRALIB) - -ivyperf: ivyperf.o libivy.a - $(CC) $(CFLAGS) -o $@ ivyperf.o -L. -livy $(PCRELIB) $(EXTRALIB) - # ------------------------------------------------------------------------------------------ installlibs: static-libs shared-libs test -d $(DESTDIR)$(PREFIX)$(LIB) || mkdir -p $(DESTDIR)$(PREFIX)$(LIB) install -m644 libivy.a $(DESTDIR)$(PREFIX)$(LIB) install -m644 libivy.dylib $(DESTDIR)$(PREFIX)$(LIB) + @(cd $(TOOLS_DIR) && $(MAKE) -f Makefile.osx install) includes: test -d $(DESTDIR)$(PREFIX)/include/Ivy || mkdir -p $(DESTDIR)$(PREFIX)/include/Ivy @@ -90,9 +78,13 @@ installbins: commands install -m755 ivyprobe $(DESTDIR)$(PREFIX)/bin install -m755 ivyperf $(DESTDIR)$(PREFIX)/bin +tools: static-libs + @(cd $(TOOLS_DIR) && $(MAKE) -f Makefile.osx) + install: installlibs installbins includes # ------------------------------------------------------------------------------------------ clean: - -rm -f $(TARGETS) *.o *.a *.dylib *.dylib.* *~ \ No newline at end of file + -rm -f *.o *.a *.dylib *.dylib.* *~ + @(cd $(TOOLS_DIR) && $(MAKE) -f Makefile.osx clean) diff --git a/src/ivy.c b/src/ivy.c index 1cae380..eb0e4df 100644 --- a/src/ivy.c +++ b/src/ivy.c @@ -16,9 +16,7 @@ */ /* - TODO : ° compil sur mac - ° faire un repertoire exemple avec tous les executables - ° commit svn (penser aux fichiers nouveaux, et deplacés) + TODO : ° sync svn ° compil sur windows ° faire un configure ° mettre à jour la doc / site web @@ -875,7 +873,7 @@ void IvyStart (const char* bus) { struct in_addr baddr; - unsigned long mask = 0xffffffff; + unsigned int mask = 0xffffffff; unsigned char elem = 0; int numdigit = 0; int numelem = 0; @@ -948,12 +946,15 @@ void IvyStart (const char* bus) } else { baddr.s_addr = htonl(mask); - printf ("Broadcasting on network %s, port %d\n", inet_ntoa(baddr), SupervisionPort); + printf ("Broadcasting on network %s, port %d\n", + inet_ntoa(baddr), SupervisionPort); /* test mask value agaisnt CLASS D */ if ( IN_MULTICAST( mask ) ) SocketAddMember (broadcast , mask ); - SocketSendBroadcast (broadcast, mask, SupervisionPort, "%d %hu %s %s\n", IVYMAJOR_VERSION, ApplicationPort, ApplicationID, ApplicationName); + SocketSendBroadcast (broadcast, mask, SupervisionPort, + "%d %hu %s %s\n", IVYMAJOR_VERSION, ApplicationPort, + ApplicationID, ApplicationName); numelem = 0; mask = 0xffffffff; } diff --git a/tools/Makefile.osx b/tools/Makefile.osx new file mode 100644 index 0000000..4591e8e --- /dev/null +++ b/tools/Makefile.osx @@ -0,0 +1,65 @@ +CC = gcc -g -Wall +CPP='g++' +GLUTINC = -I/usr/include -I. +GLUTLIB = -L. -lglut -lGLU -lGL -lX11 -lXmu + + + + +TARGETS = ivyprobe ivythroughput ivyperf #ivyprobe_efence +OMP_TARGET= ivyprobe_omp ivythroughput_omp + +PCRELIB = `pcre-config --libs` +PCREINCL = `pcre-config --cflags` +EXTRALIB= -L../src +EXTRAINC=-I../src + +.SUFFIXES: .c .o + +.c.o: + $(CC) $(CFLAGS) $(EXTRAINC) -c $*.c +.cpp.o: + $(CPP) $(CFLAGS) $(EXTRAINC) $(PCREINCL) -c $*.cpp + + +all: $(TARGETS) +omp: $(OMP_TARGET) + +ivyprobe: ivyprobe.o ../src/libivy.a + $(CC) $(CFLAGS) $(EXTRAINC) -o $@ ivyprobe.o -L. -livy $(PCRELIB) $(EXTRALIB) + +ivythroughput: ivythroughput.o ../src/libivy.a + $(CPP) $(CFLAGS) $(EXTRAINC) -o $@ ivythroughput.o -L. -livy -lpcrecpp $(PCRELIB) $(EXTRALIB) + +ivyprobe_efence: ivyprobe.o ../src/libivy.a + $(CPP) $(CFLAGS) $(EXTRAINC) -o $@ ivyprobe.o -L. -livy -lpcrecpp $(PCRELIB) $(EXTRALIB) -lefence + + + +ivyprobe_omp: ivyprobe.o ../src/libivy_omp.a + $(CC) $(CFLAGS) $(EXTRAINC) $(PCREINCL) -o $@ ivyprobe.o -L. -livy_omp $(PCRELIB) $(EXTRALIB) $(OMPLIB) + +ivythroughput_omp: ivythroughput.o ../src/libivy_omp.a + $(CPP) $(CFLAGS) $(EXTRAINC) $(PCREINCL) -o $@ ivythroughput.o -L. -livy_omp -lpcrecpp $(PCRELIB) $(EXTRALIB) $(OMPLIB) + +ivyprobe.o : ivyprobe.c + $(CC) $(CFLAGS) $(EXTRAINC) $(REGEXP) -c ivyprobe.c -o $@ + +ivyperf: ivyperf.o ../src/libivy.a + $(CC) $(CFLAGS) $(EXTRAINC) -o $@ ivyperf.o -L. -livy $(PCRELIB) $(EXTRALIB) + + +installbins: $(TARGETS) + test -d $(DESTDIR)$(PREFIX)/bin || mkdirhier $(DESTDIR)$(PREFIX)/bin + install -m755 ivyprobe $(DESTDIR)$(PREFIX)/bin + +installbins_omp: $(OMP_TARGET) + test -d $(DESTDIR)$(PREFIX)/bin || mkdirhier $(DESTDIR)$(PREFIX)/bin + install -m755 ivyprobe_omp $(DESTDIR)$(PREFIX)/bin + +install: installbins +install_omp: installbins_omp + + +clean: + rm -fR $(TARGETS) *~ *.o -- cgit v1.1