diff options
author | bustico | 2008-04-09 14:43:42 +0000 |
---|---|---|
committer | bustico | 2008-04-09 14:43:42 +0000 |
commit | c5f385388ee7c73a991cf1c31c17521df88b5022 (patch) | |
tree | b329a32666107085f7bbb92f593ed97af5e0d7f3 | |
parent | 734fb0009ae34c1c34ca2f4b5ea985a95be14e52 (diff) | |
download | ivy-c-c5f385388ee7c73a991cf1c31c17521df88b5022.zip ivy-c-c5f385388ee7c73a991cf1c31c17521df88b5022.tar.gz ivy-c-c5f385388ee7c73a991cf1c31c17521df88b5022.tar.bz2 ivy-c-c5f385388ee7c73a991cf1c31c17521df88b5022.tar.xz |
update macosx Makefile for omp lib and tools
-rw-r--r-- | src/Makefile.osx | 28 | ||||
-rw-r--r-- | tools/Makefile.osx | 15 |
2 files changed, 37 insertions, 6 deletions
diff --git a/src/Makefile.osx b/src/Makefile.osx index 1a0e42f..c95cf90 100644 --- a/src/Makefile.osx +++ b/src/Makefile.osx @@ -23,10 +23,21 @@ endif REGEXP= -DUSE_PCRE_REGEX -DPCRE_OPT=$(PCRE_OPT) OBJ = ivyloop.o timer.o ivysocket.o ivy.o ivybuffer.o ivyfifo.o ivybind.o intervalRegexp.o +OMPOBJ = ivyloop.o timer.o ivysocket_omp.o ivy_omp.o ivybuffer.o ivyfifo.o ivybind.o intervalRegexp.o + CC=gcc LIBTOOL=ar q # linux and solaris CFLAGS = -g -Wall $(FPIC) TOOLS_DIR = ../tools + +# you should first install gcc version >= 4.3 +# gcc (g++) 4.3 is the first gcc version which support openmp under macosx +# using macport greatly simplify gcc install : port install gcc43 +OMPCC = gcc-mp-4.3 +OMPCPP = g++-mp-4.3 +OMPCFLAGS = $(CFLAGS) -fopenmp -DOPENMP=1 +OMPLIB = -lgomp -lpthread + # ------------------------------------------------------------------------------------------ .c.o: @@ -37,6 +48,9 @@ TOOLS_DIR = ../tools all: static-libs shared-libs tools +libomp: libivy_omp.a +omp: libomp + @(cd $(TOOLS_DIR) && $(MAKE) -f Makefile.osx omp) static-libs: libivy.a @@ -45,13 +59,27 @@ shared-libs: libivy.dylib ivybind.o: ivybind.c $(CC) -c $(CFLAGS) $(REGEXP) $(PCREINC) ivybind.c +ivy_omp.o: ivy.c + $(OMPCC) -c $(OMPCFLAGS) -o ivy_omp.o ivy.c + +ivysocket_omp.o: ivysocket.c + $(OMPCC) -c $(OMPCFLAGS) -o ivysocket_omp.o ivysocket.c + + libivy.a: $(OBJ) rm -f $@ $(LIBTOOL) $@ $(OBJ) +libivy_omp.a: $(OMPOBJ) + rm -f $@ + $(LIBTOOL) $@ $(OMPOBJ) + libivy.dylib: $(OBJ) $(CC) -dynamiclib -o $@ $(OBJ) $(PCRELIB) +libivy_omp.dylib: $(OMPOBJ) + $(OMPCC) -dynamiclib -o $@ $(OMPOBJ) $(PCRELIB) $(OMPLIB) + # ------------------------------------------------------------------------------------------ installlibs: static-libs shared-libs diff --git a/tools/Makefile.osx b/tools/Makefile.osx index 4591e8e..580a44c 100644 --- a/tools/Makefile.osx +++ b/tools/Makefile.osx @@ -8,6 +8,9 @@ GLUTLIB = -L. -lglut -lGLU -lGL -lX11 -lXmu TARGETS = ivyprobe ivythroughput ivyperf #ivyprobe_efence OMP_TARGET= ivyprobe_omp ivythroughput_omp +OMPLIB = -lgomp -lpthread +OMPCC = gcc-mp-4.3 +OMPCPP = g++-mp-4.3 PCRELIB = `pcre-config --libs` PCREINCL = `pcre-config --cflags` @@ -26,27 +29,27 @@ all: $(TARGETS) omp: $(OMP_TARGET) ivyprobe: ivyprobe.o ../src/libivy.a - $(CC) $(CFLAGS) $(EXTRAINC) -o $@ ivyprobe.o -L. -livy $(PCRELIB) $(EXTRALIB) + $(CC) $(CFLAGS) $(EXTRAINC) -o $@ ivyprobe.o -L../src -livy $(PCRELIB) $(EXTRALIB) ivythroughput: ivythroughput.o ../src/libivy.a - $(CPP) $(CFLAGS) $(EXTRAINC) -o $@ ivythroughput.o -L. -livy -lpcrecpp $(PCRELIB) $(EXTRALIB) + $(CPP) $(CFLAGS) $(EXTRAINC) -o $@ ivythroughput.o -L../src -livy -lpcrecpp $(PCRELIB) $(EXTRALIB) ivyprobe_efence: ivyprobe.o ../src/libivy.a - $(CPP) $(CFLAGS) $(EXTRAINC) -o $@ ivyprobe.o -L. -livy -lpcrecpp $(PCRELIB) $(EXTRALIB) -lefence + $(CPP) $(CFLAGS) $(EXTRAINC) -o $@ ivyprobe.o -L../src -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) + $(OMPCC) $(CFLAGS) $(EXTRAINC) $(PCREINCL) -o $@ ivyprobe.o -L../src -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) + $(OMPCPP) $(CFLAGS) $(EXTRAINC) $(PCREINCL) -o $@ ivythroughput.o -L../src -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) + $(CC) $(CFLAGS) $(EXTRAINC) -o $@ ivyperf.o -L../src -livy $(PCRELIB) $(EXTRALIB) installbins: $(TARGETS) |