diff --git a/Makefile b/Makefile index df3551bc7654f144063a1362207c072b2048b683..8fa95a6e02508b2823a6f76543b6390fc01fd607 100644 --- a/Makefile +++ b/Makefile @@ -1,84 +1,42 @@ -# $Id: Makefile,v 1.128 2001-08-14 10:49:47 geuzaine Exp $ -# ---------------------------------------------------------------------- -# Makefile for Gmsh -# ---------------------------------------------------------------------- - - GMSH_RELEASE = 1.23 - - MAKE = make - CC = c++ - FLAGS = -g -Wall - RM = rm - RMFLAGS = -f - -# ---------------------------------------------------------------------- -# Includes -# ---------------------------------------------------------------------- - - OPENGL_INC = -I/usr/X11R6/include\ - -I/usr/include/X11/GLw\ - -I$(HOME)/SOURCES/Mesa-3.1/include\ - -I$(HOME)/SOURCES/Mesa-3.1/include/GL - MOTIF_INC = -I/usr/X11R6/LessTif/Motif1.2/include - FLTK_INC = -I$(HOME)/SOURCES/fltk - FLTK_INC_SCOREC = -I/users/develop/develop/visual/fltk/1.0/include - FLTK_INC_LAPTOPJF = -I../../fltk-1.0.9 - FLTK_INC_GERTHA_BURO = -I../../fltk - -# ---------------------------------------------------------------------- -# 3rd party libraries -# ---------------------------------------------------------------------- - - OPENGL_LIB = -lGLU -lGL - OPENGL_MOTIF_LIB = -lGLw - MESA_LIB = -L$(HOME)/SOURCES/Mesa-3.1/lib -lGLU -lGL - MESA_MOTIF_LIB = -L$(HOME)/SOURCES/Mesa-3.1/lib -lGLw - MESA_STATIC_LIB = $(HOME)/SOURCES/Mesa-static/lib/libGLU.a\ - $(HOME)/SOURCES/Mesa-static/lib/libGL.a - MESA_MOTIF_STATIC_LIB = $(HOME)/SOURCES/Mesa-static/lib/libGLw.a -# XMOTIF_LIB = /usr/local/lib/libXm.so.2 -L/usr/X11R6/lib -lXt -lX11 -lXext - XMOTIF_LIB = -L/usr/local/lib -L/usr/X11R6/LessTif/Motif1.2/lib -lXm\ - -L/usr/X11R6/lib -lXt -lX11 -lXext - FLTK_LIB = -L$(HOME)/SOURCES/fltk/lib -lfltk -L/usr/X11R6/lib -lX11 - FLTK_STATIC_LIB = -L$(HOME)/SOURCES/fltk-static/lib -lfltk -L/usr/X11R6/lib -lX11 -FLTK_LIB_SOLARIS_SCOREC = /users/develop/develop/visual/fltk/1.0/lib/sun4_5/libfltk-gcc.a\ - -L/usr/X11R6/lib -lX11 - FLTK_LIB_LINUX_SCOREC = /users/develop/develop/visual/fltk/1.0/lib/x86_linux/libfltk.a\ - -L/usr/X11R6/lib -lX11 - - THREAD_LIB = -L/usr/lib -lpthread +# $Id: Makefile,v 1.129 2001-08-14 12:53:17 geuzaine Exp $ + +GMSH_RELEASE = 1.23 +MAKE = make +CC = c++ +FLAGS = -g -Wall +RM = rm +RMFLAGS = -f +OPENGL_LIB = -lGLU -lGL +FLTK_LIB = -lfltk +X11_LIB = -lX11 # ---------------------------------------------------------------------- # Gmsh definitions # ---------------------------------------------------------------------- - GMSH_DIR = Adapt Common DataStr Geo Graphics Mesh Parser\ - Motif Fltk Plugin jpeg utils Parallel - GMSH_XMOTIF_DIR = Adapt Common DataStr Geo Graphics Mesh Parser Motif jpeg Parallel - GMSH_FLTK_DIR = Adapt Common DataStr Geo Graphics Mesh Parser Fltk jpeg Plugin Parallel - GMSH_BOX_DIR = Adapt Box Common DataStr Geo Mesh Parser Plugin Parallel - GMSH_BIN_DIR = bin - GMSH_LIB_DIR = lib - GMSH_DOC_DIR = doc - GMSH_DEMO_DIR = demos - GMSH_TUTOR_DIR = tutorial - GMSH_ARCHIVE_DIR = archives - - - GMSH_XMOTIF_LIB = -L$(GMSH_LIB_DIR) -lMotif -lGraphics -lParser -lMesh -lGeo\ - -lAdapt -lCommon -lDataStr -lJpeg -lParallel - GMSH_FLTK_LIB = -L$(GMSH_LIB_DIR) -lFltk -lParser -lGraphics -lMesh -lGeo\ - -lAdapt -lCommon -lDataStr -lJpeg -lPlugin -lParallel - GMSH_BOX_LIB = -L$(GMSH_LIB_DIR) -lBox -lParser -lMesh -lGeo\ - -lAdapt -lPlugin -lCommon -lDataStr -lParallel - GMSH_ARCHIVE = $(GMSH_ARCHIVE_DIR)/gmsh-`date "+%Y.%m.%d"` - GMSH_SRCRPM = gmsh-$(GMSH_RELEASE) - GMSH_SOURCES = `find . \( ! -name "*.tar*" -a ! -name "*.tgz" \ - -a ! -name "*.o" -a ! -name "lib*.a" \ - -a ! -name "*.msh" -a ! -name "*.bak" \ - -a ! -name "gmsh" -a ! -name "gmsh-*"\ - -a ! -type d \)` - GMSH_UNAME = `uname` +GMSH_DIR = Adapt Common DataStr Geo Graphics Mesh Parser Motif Fltk\ + Plugin jpeg utils Parallel +GMSH_FLTK_DIR = Adapt Common DataStr Geo Graphics Mesh Parser Fltk\ + jpeg Plugin Parallel +GMSH_BOX_DIR = Adapt Box Common DataStr Geo Mesh Parser Plugin Parallel +GMSH_BIN_DIR = bin +GMSH_LIB_DIR = lib +GMSH_DOC_DIR = doc +GMSH_DEMO_DIR = demos +GMSH_TUTOR_DIR = tutorial +GMSH_ARCHIVE_DIR = archives +GMSH_FLTK_LIB = -L$(GMSH_LIB_DIR) -lFltk -lParser -lGraphics -lMesh\ + -lGeo -lAdapt -lCommon -lDataStr -lJpeg -lPlugin -lParallel +GMSH_BOX_LIB = -L$(GMSH_LIB_DIR) -lBox -lParser -lMesh -lGeo -lAdapt\ + -lPlugin -lCommon -lDataStr -lParallel +GMSH_ARCHIVE = $(GMSH_ARCHIVE_DIR)/gmsh-`date "+%Y.%m.%d"` +GMSH_SRCRPM = gmsh-$(GMSH_RELEASE) +GMSH_SOURCES = `find . \( ! -name "*.tar*" -a ! -name "*.tgz" \ + -a ! -name "*.o" -a ! -name "lib*.a" \ + -a ! -name "*.msh" -a ! -name "*.bak" \ + -a ! -name "gmsh" -a ! -name "gmsh-*"\ + -a ! -type d \)` +GMSH_UNAME = `uname` # ---------------------------------------------------------------------- # Rules for developers @@ -90,8 +48,8 @@ default: initialtag "C_FLAGS=$(FLAGS)" \ "OS_FLAGS=-D_LITTLE_ENDIAN" \ "VERSION_FLAGS=-D_FLTK" \ - "GL_INCLUDE=$(OPENGL_INC)" \ - "GUI_INCLUDE=$(FLTK_INC)" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I$(HOME)/SOURCES/fltk" \ ); done static: @@ -100,11 +58,13 @@ static: "C_FLAGS=-O3" \ "OS_FLAGS=-D_LITTLE_ENDIAN" \ "VERSION_FLAGS=-D_FLTK" \ - "GL_INCLUDE=-I$(HOME)/SOURCES/Mesa-static/include -I$(HOME)/SOURCES/Mesa-static/include/GL" \ - "GUI_INCLUDE=$(FLTK_INC)" \ + "GL_INCLUDE=-I$(HOME)/SOURCES/Mesa-static/include" \ + "GUI_INCLUDE=-I$(HOME)/SOURCES/fltk" \ ); done - $(CC) -o $(GMSH_BIN_DIR)/gmshm $(GMSH_FLTK_LIB) $(MESA_STATIC_LIB) \ - $(FLTK_STATIC_LIB) -lm + $(CC) -o $(GMSH_BIN_DIR)/gmshm $(GMSH_FLTK_LIB)\ + $(HOME)/SOURCES/Mesa-static/lib/libGLU.a\ + $(HOME)/SOURCES/Mesa-static/lib/libGL.a\ + $(HOME)/SOURCES/fltk-static/lib/libfltk.a -lX11 -lm win: initialtag @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ @@ -112,47 +72,28 @@ win: initialtag "C_FLAGS=-g -Wall -DWIN32" \ "OS_FLAGS=-D_LITTLE_ENDIAN" \ "VERSION_FLAGS=-D_FLTK" \ - "GL_INCLUDE=$(OPENGL_INC)" \ - "GUI_INCLUDE=$(FLTK_INC)" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I$(HOME)/SOURCES/fltk" \ ); done g++ -Wl,--subsystem,windows -o $(GMSH_BIN_DIR)/gmsh.exe $(GMSH_FLTK_LIB) \ $(HOME)/SOURCES/fltk/lib/libfltk.a -lglu32 -lopengl32 -lgdi32 -lwsock32 -lm -motif: initialtag - @for i in $(GMSH_XMOTIF_DIR); do (cd $$i && $(MAKE) \ - "CC=$(CC)" \ - "C_FLAGS=$(FLAGS)" \ - "OS_FLAGS=-D_LITTLE_ENDIAN -D_NOPLUGIN" \ - "VERSION_FLAGS=-D_XMOTIF" \ - "GL_INCLUDE=$(OPENGL_INC)" \ - "GUI_INCLUDE=$(MOTIF_INC)" \ - ); done +purify: + purify -cache-dir=/space g++ -o $(GMSH_BIN_DIR)/gmsh-sun $(GMSH_FLTK_LIB) $(OPENGL_LIB) \ + /users/develop/develop/visual/fltk/1.0/lib/sun4_5/libfltk-gcc.a\ + -L/usr/X11R6/lib -lX11 -lm -ldl -lsocket gmsh: - $(CC) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB) $(MESA_LIB) \ - $(FLTK_LIB) -lm + $(CC) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB) $(OPENGL_LIB) \ + -L$(HOME)/SOURCES/fltk/lib $(FLTK_LIB) -L/usr/X11R6/lib $(X11_LIB) -lm efence: - $(CC) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB) $(MESA_LIB) \ - $(FLTK_LIB) -lefence -lm + $(CC) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB) $(OPENGL_LIB) \ + -L$(HOME)/SOURCES/fltk/lib $(FLTK_LIB) -L/usr/X11R6/lib $(X11_LIB) -lefence -lm gmsh2: - $(CC) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB) $(MESA_LIB) \ - $(FLTK_LIB) -lfltk_gl $(THREAD_LIB) -lm - -motifgl: - $(CC) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_XMOTIF_LIB)\ - $(OPENGL_MOTIF_LIB) $(OPENGL_LIB) $(XMOTIF_LIB) $(THREAD_LIB) -lm - -motifmesa: - $(CC) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_XMOTIF_LIB)\ - $(MESA_MOTIF_LIB) $(MESA_LIB) $(XMOTIF_LIB) $(THREAD_LIB) -lm - -motifmesastatic: - $(CC) -o $(GMSH_BIN_DIR)/gmshm $(GMSH_XMOTIF_LIB)\ - $(MESA_MOTIF_STATIC_LIB) $(MESA_STATIC_LIB)\ - $(XMOTIF_LIB) $(THREAD_LIB) -lm - + $(CC) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB) $(OPENGL_LIB) \ + -L$(HOME)/SOURCES/fltk/lib $(FLTK_LIB) -lfltk_gl -L/usr/X11R6/lib $(X11_LIB) -lpthread -lm # ---------------------------------------------------------------------- # Utilities @@ -179,9 +120,9 @@ depend: for i in $(GMSH_DIR); \ do (cd $$i && $(MAKE) depend \ "CC=$(CC)" \ - "VERSION_FLAGS=-D_FLTK -D_XMOTIF" \ - "GL_INCLUDE=$(OPENGL_INC)" \ - "GUI_INCLUDE=$(MOTIF_INC) $(FLTK_INC)" \ + "VERSION_FLAGS=-D_FLTK" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I$(HOME)/SOURCES/fltk" \ ); done nodepend: @@ -251,10 +192,6 @@ distrib-win: strip_bin: strip $(GMSH_BIN_DIR)/gmsh -# ---------------------------------------------------------------------- -# Demos -# ---------------------------------------------------------------------- - dem: gtar zcvf gmsh-demos.tgz $(GMSH_DEMO_DIR) gtar zcvf gmsh-tutorial.tgz $(GMSH_TUTOR_DIR) @@ -286,7 +223,7 @@ bb-parallel: tag ); done mpiCC -o $(GMSH_BIN_DIR)/gmsh-bb $(GMSH_BOX_LIB) -lm -bbn: tag +bb-mingw: tag @for i in $(GMSH_BOX_DIR) ; do (cd $$i && $(MAKE) \ "CC=g++ -mno-cygwin -I/mingw/include" \ "C_FLAGS=-O3" \ @@ -298,143 +235,37 @@ bbn: tag g++ -o $(GMSH_BIN_DIR)/gmsh.exe -mno-cygwin -L/mingw/lib $(GMSH_BOX_LIB) -lm # ---------------------------------------------------------------------- -# Ready to compile for some platforms with MOTIF +# Ready to compile for some platforms # ---------------------------------------------------------------------- -motif_dec: tag motif_compile_little_endian motif_link_opengl strip_bin - -motif_linux: tag motif_compile_little_endian motif_link_mesa strip_bin - -motif_linux_2952: tag motif_compile_little_endian_2952 motif_link_mesa_2952 strip_bin - -motif_ibm: tag motif_compile_big_endian motif_link_mesa strip_bin - -motif_sun: tag motif_compile_big_endian motif_link_opengl strip_bin - -motif_hp: tag motif_compile_big_endian motif_link_hp strip_bin - -motif_sgi: tag motif_compile_sgi motif_link_sgi strip_bin - -motif_rpm: src - mv $(GMSH_SRCRPM).tar.gz /usr/src/redhat/SOURCES - rpm -bb utils/gmsh_motif.spec - cp /usr/src/redhat/RPMS/i386/$(GMSH_SRCRPM)-1.i386.rpm . - cp /usr/src/redhat/BUILD/$(GMSH_SRCRPM)/bin/gmsh . - gtar zcvf gmsh-$(GMSH_UNAME).tgz gmsh - rm -f gmsh - -motif_compile_little_endian: - @for i in $(GMSH_XMOTIF_DIR); do (cd $$i && $(MAKE) \ - "CC=g++" \ - "C_FLAGS=-O3" \ - "OS_FLAGS=-D_LITTLE_ENDIAN" \ - "VERSION_FLAGS=-D_XMOTIF -D_NOPLUGIN" \ - "GL_INCLUDE=$(OPENGL_INC)" \ - "GUI_INCLUDE=$(MOTIF_INC)" \ - ); done - -motif_compile_little_endian_2952: - @for i in $(GMSH_XMOTIF_DIR); do (cd $$i && $(MAKE) \ - "CC=$(HOME)/gcc-2.95.2/bin/g++" \ - "C_FLAGS=-O3" \ - "OS_FLAGS=-D_LITTLE_ENDIAN" \ - "VERSION_FLAGS=-D_XMOTIF -D_NOPLUGIN" \ - "GL_INCLUDE=$(OPENGL_INC)" \ - "GUI_INCLUDE=$(MOTIF_INC)" \ - ); done - -motif_compile_little_endian_threads: - @for i in $(GMSH_XMOTIF_DIR); do (cd $$i && $(MAKE) \ - "CC=g++" \ - "C_FLAGS=-D_REENTRANT -O3" \ - "OS_FLAGS=-D_LITTLE_ENDIAN" \ - "VERSION_FLAGS=-D_XMOTIF -D_NOPLUGIN -D_USETHREADS" \ - "GL_INCLUDE=$(OPENGL_INC)" \ - "GUI_INCLUDE=$(MOTIF_INC)" \ - ); done - -motif_compile_big_endian: - @for i in $(GMSH_XMOTIF_DIR); do (cd $$i && $(MAKE) \ - "CC=g++" \ - "C_FLAGS=-O3" \ - "OS_FLAGS=" \ - "VERSION_FLAGS=-D_XMOTIF -D_NOPLUGIN" \ - "GL_INCLUDE=$(OPENGL_INC)" \ - "GUI_INCLUDE=$(MOTIF_INC)" \ - ); done - -# special car -O2 merde dans 3d_smesh.c sur TransfiniteHex() -motif_compile_sgi: - @for i in $(GMSH_XMOTIF_DIR); do (cd $$i && $(MAKE) \ - "CC=CC" \ - "C_FLAGS=-O2 -o32 -Olimit 3000" \ - "RANLIB=true"\ - "AR=CC -o32 -ar -o"\ - "OS_FLAGS=" \ - "VERSION_FLAGS=-D_XMOTIF -D_NOPLUGIN" \ - "GL_INCLUDE=$(OPENGL_INC)" \ - "GUI_INCLUDE=$(MOTIF_INC)" \ - ); done - @for i in Mesh; do (cd $$i && $(MAKE) \ - "CC=CC" \ - "C_FLAGS=-O1 -o32" \ - "AR=CC -o32 -ar -o"\ - "RANLIB=true"\ - "OS_FLAGS=" \ - "VERSION_FLAGS=-D_XMOTIF -D_NOPLUGIN" \ - "GL_INCLUDE=$(OPENGL_INC)" \ - "GUI_INCLUDE=$(MOTIF_INC)" \ - ); done - -motif_link_sgi: - CC -O2 -o32 -o $(GMSH_BIN_DIR)/gmsh $(GMSH_XMOTIF_LIB)\ - $(OPENGL_MOTIF_LIB) $(OPENGL_LIB) $(XMOTIF_LIB) -lm - -motif_link_opengl: - g++ -o $(GMSH_BIN_DIR)/gmsh $(GMSH_XMOTIF_LIB)\ - $(OPENGL_MOTIF_LIB) $(OPENGL_LIB) $(XMOTIF_LIB) -lm - -motif_link_mesa: - g++ -o $(GMSH_BIN_DIR)/gmsh $(GMSH_XMOTIF_LIB)\ - $(MESA_MOTIF_LIB) $(MESA_LIB) $(XMOTIF_LIB) -lm - -motif_link_mesa_2952: - $(HOME)/gcc-2.95.2/bin/g++ -o $(GMSH_BIN_DIR)/gmsh $(GMSH_XMOTIF_LIB)\ - $(MESA_MOTIF_LIB) $(MESA_LIB) $(XMOTIF_LIB) -lm - -motif_link_mesa_threads: - g++ -o $(GMSH_BIN_DIR)/gmsh $(GMSH_XMOTIF_LIB)\ - $(MESA_MOTIF_LIB) $(MESA_LIB) $(XMOTIF_LIB) $(THREAD_LIB) -lm - -# special car +s necessaire pour shared libs avec SHLIB_PATH variable. -motif_link_hp: - g++ -Wl,+s -o $(GMSH_BIN_DIR)/gmsh $(GMSH_XMOTIF_LIB)\ - $(MESA_MOTIF_LIB) $(MESA_LIB) $(XMOTIF_LIB) -lm - - -# ---------------------------------------------------------------------- -# Ready to compile for some platforms with FLTK -# ---------------------------------------------------------------------- - -fltk_compile_little_endian: +# +# Linux standard +# +compile_linux: @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ "CC=$(CC)" \ "C_FLAGS=-O2" \ "OS_FLAGS=-D_LITTLE_ENDIAN" \ "VERSION_FLAGS=-D_FLTK" \ - "GL_INCLUDE=$(OPENGL_INC)" \ - "GUI_INCLUDE=$(FLTK_INC)" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I$(HOME)/SOURCES/fltk" \ ); done +link_linux: + $(CC) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB) $(OPENGL_LIB) \ + -L$(HOME)/SOURCES/fltk/lib $(FLTK_LIB) -L/usr/X11R6/lib $(X11_LIB) -lm -ldl +linux: tag compile_linux link_linux strip_bin -# optimized gcc fucks up with 3D_Extrude on old linux boxes... -fltk_compile_little_endian_gcc-2.95: +# +# Linux, gcc-2.95.x +# +compile_linux_gcc-2.95: @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ "CC=$(HOME)/gcc-2.95.3/bin/g++" \ "C_FLAGS=-O2" \ "OS_FLAGS=-D_LITTLE_ENDIAN" \ "VERSION_FLAGS=-D_FLTK" \ - "GL_INCLUDE=$(OPENGL_INC)" \ - "GUI_INCLUDE=$(FLTK_INC)" \ + "GL_INCLUDE=-I/usr/X11R6/include" \ + "GUI_INCLUDE=-I$(HOME)/SOURCES/fltk" \ ); done rm -f Mesh/3D_Extrude.o @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ @@ -442,52 +273,93 @@ fltk_compile_little_endian_gcc-2.95: "C_FLAGS=-O0" \ "OS_FLAGS=-D_LITTLE_ENDIAN" \ "VERSION_FLAGS=-D_FLTK" \ - "GL_INCLUDE=$(OPENGL_INC)" \ - "GUI_INCLUDE=$(FLTK_INC)" \ + "GL_INCLUDE=-I/usr/X11R6/include" \ + "GUI_INCLUDE=-I$(HOME)/SOURCES/fltk" \ ); done +link_linux_gcc-2.95: + $(HOME)/gcc-2.95.3/bin/g++ -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB) $(OPENGL_LIB) \ + -L$(HOME)/SOURCES/fltk/lib $(FLTK_LIB) -L/usr/X11R6/lib $(X11_LIB) -lm -ldl +linux_gcc-2.95: tag compile_linux_gcc-2.95 link_linux-2.95 strip_bin +rpm: src + mv $(GMSH_SRCRPM).tar.gz /usr/src/redhat/SOURCES + rpm -bb utils/gmsh_fltk.spec + cp /usr/src/redhat/RPMS/i386/$(GMSH_SRCRPM)-1.i386.rpm . + cp /usr/src/redhat/BUILD/$(GMSH_SRCRPM)/gmsh-$(GMSH_RELEASE)-$(GMSH_UNAME).tgz . - -fltk_compile_big_endian: +# +# Linux SCOREC +# +compile_linux_scorec : @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ "CC=$(CC)" \ - "C_FLAGS=-O3" \ - "OS_FLAGS=" \ - "VERSION_FLAGS=-D_FLTK -D_NODLL" \ - "GL_INCLUDE=-I/usr/include/X11/GLw -I$(HOME)/SOURCES/Mesa-3.1/include -I$(HOME)/SOURCES/Mesa-3.1/include/GL" \ - "GUI_INCLUDE=$(FLTK_INC)" \ + "C_FLAGS=-O2" \ + "VERSION_FLAGS=-D_FLTK" \ + "OS_FLAGS=-D_LITTLE_ENDIAN" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I/users/develop/develop/visual/fltk/1.0/include" \ ); done - -fltk_compile_ibm: +link_linux_scorec: + $(CC) -o $(GMSH_BIN_DIR)/gmsh-linux $(GMSH_FLTK_LIB) $(OPENGL_LIB) \ + /users/develop/develop/visual/fltk/1.0/lib/x86_linux/libfltk.a\ + -L/usr/X11R6/lib -lX11 -lm -ldl +linux_scorec : compile_linux_scorec link_linux_scorec strip_bin + +# +# Digital (Compaq) Tru64 +# +compile_dec: @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ "CC=$(CC)" \ - "C_FLAGS=-O3" \ - "OS_FLAGS=-D_BSD" \ - "VERSION_FLAGS=-D_FLTK -D_NODLL" \ - "GL_INCLUDE=$(OPENGL_INC)" \ - "GUI_INCLUDE=$(FLTK_INC)" \ + "C_FLAGS=-O2" \ + "OS_FLAGS=-D_LITTLE_ENDIAN" \ + "VERSION_FLAGS=-D_FLTK" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I$(HOME)/SOURCES/fltk" \ ); done +link_dec: + $(CC) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB) $(OPENGL_LIB) \ + -L$(HOME)/SOURCES/fltk/lib $(FLTK_LIB) $(X11_LIB) -lm +dec: tag compile_dec link_dec strip_bin -fltk_compile_solaris_scorec : +# +# HP-UX +# +compile_hp: @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ "CC=$(CC)" \ "C_FLAGS=-O3" \ - "VERSION_FLAGS=-D_FLTK" \ "OS_FLAGS=" \ - "GL_INCLUDE=$(OPENGL_INC)" \ - "GUI_INCLUDE=$(FLTK_INC_SCOREC)" \ + "VERSION_FLAGS=-D_FLTK -D_NODLL" \ + "GL_INCLUDE=-I$(HOME)/SOURCES/Mesa-3.1/include" \ + "GUI_INCLUDE=-I$(HOME)/SOURCES/fltk" \ ); done - -fltk_compile_linux_scorec : +link_hp: + g++ -Wl,+s -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB)\ + -L$(HOME)/SOURCES/Mesa-3.1/lib $(OPENGL_LIB)\ + -L$(HOME)/SOURCES/fltk/lib $(FLTK_LIB) $(X11_LIB) -lm +hp: tag compile_hp link_hp strip_bin + +# +# IBM Aix +# +compile_ibm: @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ "CC=$(CC)" \ - "C_FLAGS=-O2" \ - "VERSION_FLAGS=-D_FLTK" \ - "OS_FLAGS=-D_LITTLE_ENDIAN" \ - "GL_INCLUDE=$(OPENGL_INC)" \ - "GUI_INCLUDE=$(FLTK_INC_SCOREC)" \ + "C_FLAGS=-O3" \ + "OS_FLAGS=-D_BSD" \ + "VERSION_FLAGS=-D_FLTK -D_NODLL" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I$(HOME)/SOURCES/fltk" \ ); done +link_ibm: + $(CC) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB) $(OPENGL_LIB) \ + -L$(HOME)/SOURCES/fltk/lib $(FLTK_LIB) $(X11_LIB) -lm +ibm: tag compile_ibm link_ibm strip_bin -fltk_compile_sgi: +# +# SGI Irix +# +compile_sgi: @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ "CC=CC" \ "C_FLAGS=-O2 -mips3 -n32 -OPT:Olimit=0 -LANG:std" \ @@ -495,128 +367,124 @@ fltk_compile_sgi: "AR=CC -mips3 -n32 -ar -o"\ "OS_FLAGS=" \ "VERSION_FLAGS=-D_FLTK" \ - "GL_INCLUDE=$(OPENGL_INC)" \ - "GUI_INCLUDE=$(FLTK_INC)" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I$(HOME)/SOURCES/fltk" \ ); done +link_sgi: + CC -O2 -mips3 -n32 -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB)\ + -L$(HOME)/SOURCES/fltk/lib $(FLTK_LIB) $(X11_LIB) $(OPENGL_LIB) -lm +sgi: tag compile_sgi link_sgi strip_bin -fltk_compile_mingw: +# +# Mingw +# +compile_mingw: @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ "CC=g++ -mno-cygwin -I/mingw/include" \ "C_FLAGS=-O2 -DWIN32" \ "OS_FLAGS=-D_LITTLE_ENDIAN" \ "VERSION_FLAGS=-D_FLTK" \ - "GL_INCLUDE=$(OPENGL_INC)" \ - "GUI_INCLUDE=$(FLTK_INC)" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I$(HOME)/SOURCES/fltk" \ ); done +link_mingw: + g++ -mno-cygwin -L/mingw/lib -o $(GMSH_BIN_DIR)/gmsh.exe $(GMSH_FLTK_LIB)\ + Common/Icon.res $(HOME)/SOURCES/fltk/lib/libfltk.a\ + -lglu32 -lopengl32 -lgdi32 -lwsock32 -lm +mingw: tag compile_mingw link_mingw + strip $(GMSH_BIN_DIR)/gmsh.exe -fltk_compile_cygwin: +# +# Cygwin +# +compile_cygwin: @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ "CC=g++" \ "C_FLAGS=-O2 -DWIN32" \ "OS_FLAGS=-D_LITTLE_ENDIAN" \ "VERSION_FLAGS=-D_FLTK -I/usr/include/w32api" \ - "GL_INCLUDE=$(OPENGL_INC)" \ - "GUI_INCLUDE=$(FLTK_INC)" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I$(HOME)/SOURCES/fltk" \ ); done - -fltk_link_solaris_scorec: - $(CC) -o $(GMSH_BIN_DIR)/gmsh-sun $(GMSH_FLTK_LIB) $(OPENGL_LIB) \ - $(FLTK_LIB_SOLARIS_SCOREC) -lm -ldl -lsocket - -fltk_purify: - purify -cache-dir=/space g++ -o $(GMSH_BIN_DIR)/gmsh-sun $(GMSH_FLTK_LIB) $(OPENGL_LIB) \ - $(FLTK_LIB_SOLARIS_SCOREC) -lm -ldl -lsocket - -fltk_link_linux_scorec: - $(CC) -o $(GMSH_BIN_DIR)/gmsh-linux $(GMSH_FLTK_LIB) $(OPENGL_LIB) \ - $(FLTK_LIB_LINUX_SCOREC) -lm -ldl -fltk_link_mesa: - $(CC) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB) $(MESA_LIB) \ - $(FLTK_LIB) -lm -ldl - -fltk_link_mesa_gcc-2.95: - $(HOME)/gcc-2.95.3/bin/g++ -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB) $(MESA_LIB) \ - $(FLTK_LIB) -lm -ldl - -fltk_link_opengl: - $(CC) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB) $(OPENGL_LIB) \ - $(FLTK_LIB) -lm -fltk_link_sgi: - CC -O2 -mips3 -n32 -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB)\ - $(FLTK_LIB) $(OPENGL_LIB) -lm -fltk_link_sun: - $(CC) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB) $(MESA_LIB) \ - $(FLTK_LIB) -lXext -lsocket -lnsl -ldl -lm -fltk_link_hp: - g++ -Wl,+s -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB)\ - $(MESA_LIB) $(FLTK_LIB) -lm - -fltk_link_ibm: - $(CC) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB) $(MESA_LIB) \ - $(FLTK_LIB) -lm - -fltk_link_mingw: - g++ -mno-cygwin -L/mingw/lib -o $(GMSH_BIN_DIR)/gmsh.exe $(GMSH_FLTK_LIB) Common/Icon.res \ - $(HOME)/SOURCES/fltk/lib/libfltk.a -lglu32 -lopengl32 -lgdi32 -lwsock32 -lm - -fltk_link_cygwin: - g++ -Wl,--subsystem,windows -o $(GMSH_BIN_DIR)/gmsh.exe $(GMSH_FLTK_LIB) Common/Icon.res \ - $(HOME)/SOURCES/fltk/lib/libfltk.a -lglu32 -lopengl32 -lgdi32 -lwsock32 -lm - -fltk_linux: tag fltk_compile_little_endian fltk_link_mesa strip_bin - -fltk_linux_gcc-2.95: tag fltk_compile_little_endian_gcc-2.95 fltk_link_mesa_gcc-2.95 strip_bin - -fltk_rpm: src - mv $(GMSH_SRCRPM).tar.gz /usr/src/redhat/SOURCES - rpm -bb utils/gmsh_fltk.spec - cp /usr/src/redhat/RPMS/i386/$(GMSH_SRCRPM)-1.i386.rpm . - cp /usr/src/redhat/BUILD/$(GMSH_SRCRPM)/gmsh-$(GMSH_RELEASE)-$(GMSH_UNAME).tgz . - -fltk_dec: tag fltk_compile_little_endian fltk_link_opengl strip_bin - -fltk_sun: tag fltk_compile_big_endian fltk_link_sun strip_bin - -fltk_hp: tag fltk_compile_big_endian fltk_link_hp strip_bin - -fltk_ibm: tag fltk_compile_ibm fltk_link_ibm strip_bin - -fltk_solaris_scorec : fltk_compile_solaris_scorec fltk_link_solaris_scorec strip_bin - -fltk_linux_scorec : fltk_compile_linux_scorec fltk_link_linux_scorec strip_bin - -fltk_sgi: tag fltk_compile_sgi fltk_link_sgi strip_bin - -fltk_mingw: tag fltk_compile_mingw fltk_link_mingw - strip $(GMSH_BIN_DIR)/gmsh.exe - -fltk_cygwin: tag fltk_compile_cygwin fltk_link_cygwin +link_cygwin: + g++ -Wl,--subsystem,windows -o $(GMSH_BIN_DIR)/gmsh.exe $(GMSH_FLTK_LIB)\ + Common/Icon.res $(HOME)/SOURCES/fltk/lib/libfltk.a\ + -lglu32 -lopengl32 -lgdi32 -lwsock32 -lm +cygwin: tag compile_cygwin link_cygwin strip $(GMSH_BIN_DIR)/gmsh.exe -fltk_cygwin_gertha_buro: tag +# +# Cygwin gertha_buro +# +cygwin_gertha_buro: tag @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ "CC=g++" \ "C_FLAGS=-O2 -DWIN32" \ "OS_FLAGS=-D_LITTLE_ENDIAN" \ "VERSION_FLAGS=-D_FLTK" \ - "GL_INCLUDE=$(OPENGL_INC)" \ - "GUI_INCLUDE=$(FLTK_INC_GERTHA_BURO)" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I../../fltk" \ ); done - g++ -Wl,--subsystem,windows -o $(GMSH_BIN_DIR)/gmsh.exe $(GMSH_FLTK_LIB) Common/Icon.res \ - ../fltk/lib/libfltk.a -lglu32 -lopengl32 -lgdi32 -lwsock32 -lm - -fltk_cygwin_laptopjf: + g++ -Wl,--subsystem,windows -o $(GMSH_BIN_DIR)/gmsh.exe $(GMSH_FLTK_LIB)\ + Common/Icon.res ../fltk/lib/libfltk.a\ + -lglu32 -lopengl32 -lgdi32 -lwsock32 -lm + +# +# Cygwin laptop jf +# +cygwin_laptopjf: @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ "CC=g++" \ "C_FLAGS=-O2 -DWIN32" \ "OS_FLAGS=-D_LITTLE_ENDIAN" \ "VERSION_FLAGS=-D_FLTK" \ - "GL_INCLUDE=$(OPENGL_INC)" \ - "GUI_INCLUDE=$(FLTK_INC_LAPTOPJF)" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I../../fltk-1.0.9" \ ); done - g++ -Wl,--subsystem,windows -o $(GMSH_BIN_DIR)/gmsh-cyg.exe $(GMSH_FLTK_LIB) Common/Icon.res \ - ../fltk-1.0.9/lib/libfltk.a -lglu32 -lopengl32 -lgdi32 -lwsock32 -lm + g++ -Wl,--subsystem,windows -o $(GMSH_BIN_DIR)/gmsh-cyg.exe $(GMSH_FLTK_LIB)\ + Common/Icon.res ../fltk-1.0.9/lib/libfltk.a\ + -lglu32 -lopengl32 -lgdi32 -lwsock32 -lm +cygwin_laptopjf_tag: tag cygwin_laptopjf + +# +# Sun SunOS +# +compile_sun: + @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ + "CC=$(CC)" \ + "C_FLAGS=-O3" \ + "OS_FLAGS=" \ + "VERSION_FLAGS=-D_FLTK -D_NODLL" \ + "GL_INCLUDE=-I$(HOME)/SOURCES/Mesa-3.1/include" \ + "GUI_INCLUDE=-I$(HOME)/SOURCES/fltk" \ + ); done +link_sun: + $(CC) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB)\ + -L$(HOME)/SOURCES/Mesa-3.1/lib $(OPENGL_LIB) \ + -L$(HOME)/SOURCES/fltk/lib $(FLTK_LIB)\ + $(X11_LIB) -lXext -lsocket -lnsl -ldl -lm +sun: tag compile_sun link_sun strip_bin + +# +# Solaris SCOREC +# +compile_solaris_scorec : + @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ + "CC=$(CC)" \ + "C_FLAGS=-O3" \ + "VERSION_FLAGS=-D_FLTK" \ + "OS_FLAGS=" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I/users/develop/develop/visual/fltk/1.0/include" \ + ); done +link_solaris_scorec: + $(CC) -o $(GMSH_BIN_DIR)/gmsh-sun $(GMSH_FLTK_LIB) $(OPENGL_LIB) \ + /users/develop/develop/visual/fltk/1.0/lib/sun4_5/libfltk-gcc.a\ + -L/usr/X11R6/lib -lX11 -lm -ldl -lsocket +solaris_scorec : compile_solaris_scorec link_solaris_scorec strip_bin + + + -fltk_cygwin_laptopjf_tag: tag fltk_cygwin_laptopjf diff --git a/Makefile.Motif b/Makefile.Motif new file mode 100644 index 0000000000000000000000000000000000000000..19a3b88c31e466f9953632a44ec4e6320db9a037 --- /dev/null +++ b/Makefile.Motif @@ -0,0 +1,344 @@ +# $Id: Makefile.Motif,v 1.1 2001-08-14 12:53:17 geuzaine Exp $ +# ---------------------------------------------------------------------- +# Old Makefile for Gmsh +# ---------------------------------------------------------------------- + + GMSH_RELEASE = 1.23 + + MAKE = make + CC = c++ + FLAGS = -g -Wall + RM = rm + RMFLAGS = -f + +# ---------------------------------------------------------------------- +# Includes +# ---------------------------------------------------------------------- + + OPENGL_INC = -I/usr/X11R6/include\ + -I/usr/include/X11/GLw\ + -I$(HOME)/SOURCES/Mesa-3.1/include\ + -I$(HOME)/SOURCES/Mesa-3.1/include/GL + MOTIF_INC = -I/usr/X11R6/LessTif/Motif1.2/include + +# ---------------------------------------------------------------------- +# 3rd party libraries +# ---------------------------------------------------------------------- + + OPENGL_LIB = -lGLU -lGL + OPENGL_MOTIF_LIB = -lGLw + MESA_LIB = -L$(HOME)/SOURCES/Mesa-3.1/lib -lGLU -lGL + MESA_MOTIF_LIB = -L$(HOME)/SOURCES/Mesa-3.1/lib -lGLw + MESA_STATIC_LIB = $(HOME)/SOURCES/Mesa-static/lib/libGLU.a\ + $(HOME)/SOURCES/Mesa-static/lib/libGL.a + MESA_MOTIF_STATIC_LIB = $(HOME)/SOURCES/Mesa-static/lib/libGLw.a +# XMOTIF_LIB = /usr/local/lib/libXm.so.2 -L/usr/X11R6/lib -lXt -lX11 -lXext + XMOTIF_LIB = -L/usr/local/lib -L/usr/X11R6/LessTif/Motif1.2/lib -lXm\ + -L/usr/X11R6/lib -lXt -lX11 -lXext + THREAD_LIB = -L/usr/lib -lpthread + +# ---------------------------------------------------------------------- +# Gmsh definitions +# ---------------------------------------------------------------------- + + GMSH_DIR = Adapt Common DataStr Geo Graphics Mesh Parser\ + Motif Fltk Plugin jpeg utils Parallel + GMSH_XMOTIF_DIR = Adapt Common DataStr Geo Graphics Mesh Parser Motif jpeg Parallel + GMSH_BOX_DIR = Adapt Box Common DataStr Geo Mesh Parser Plugin Parallel + GMSH_BIN_DIR = bin + GMSH_LIB_DIR = lib + GMSH_DOC_DIR = doc + GMSH_DEMO_DIR = demos + GMSH_TUTOR_DIR = tutorial + GMSH_ARCHIVE_DIR = archives + + + GMSH_XMOTIF_LIB = -L$(GMSH_LIB_DIR) -lMotif -lGraphics -lParser -lMesh -lGeo\ + -lAdapt -lCommon -lDataStr -lJpeg -lParallel + GMSH_BOX_LIB = -L$(GMSH_LIB_DIR) -lBox -lParser -lMesh -lGeo\ + -lAdapt -lPlugin -lCommon -lDataStr -lParallel + GMSH_ARCHIVE = $(GMSH_ARCHIVE_DIR)/gmsh-`date "+%Y.%m.%d"` + GMSH_SRCRPM = gmsh-$(GMSH_RELEASE) + GMSH_SOURCES = `find . \( ! -name "*.tar*" -a ! -name "*.tgz" \ + -a ! -name "*.o" -a ! -name "lib*.a" \ + -a ! -name "*.msh" -a ! -name "*.bak" \ + -a ! -name "gmsh" -a ! -name "gmsh-*"\ + -a ! -type d \)` + GMSH_UNAME = `uname` + +# ---------------------------------------------------------------------- +# Rules for developers +# ---------------------------------------------------------------------- + +motif: initialtag + @for i in $(GMSH_XMOTIF_DIR); do (cd $$i && $(MAKE) \ + "CC=$(CC)" \ + "C_FLAGS=$(FLAGS)" \ + "OS_FLAGS=-D_LITTLE_ENDIAN -D_NOPLUGIN" \ + "VERSION_FLAGS=-D_XMOTIF" \ + "GL_INCLUDE=$(OPENGL_INC)" \ + "GUI_INCLUDE=$(MOTIF_INC)" \ + ); done + +motifgl: + $(CC) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_XMOTIF_LIB)\ + $(OPENGL_MOTIF_LIB) $(OPENGL_LIB) $(XMOTIF_LIB) $(THREAD_LIB) -lm + +motifmesa: + $(CC) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_XMOTIF_LIB)\ + $(MESA_MOTIF_LIB) $(MESA_LIB) $(XMOTIF_LIB) $(THREAD_LIB) -lm + +motifmesastatic: + $(CC) -o $(GMSH_BIN_DIR)/gmshm $(GMSH_XMOTIF_LIB)\ + $(MESA_MOTIF_STATIC_LIB) $(MESA_STATIC_LIB)\ + $(XMOTIF_LIB) $(THREAD_LIB) -lm + + +# ---------------------------------------------------------------------- +# Utilities +# ---------------------------------------------------------------------- + +parser: + cd Parser && $(MAKE) parser + +utilities: + cd utils && $(MAKE) + +purge: + for i in "." $(GMSH_DIR) $(GMSH_LIB_DIR) $(GMSH_ARCHIVE_DIR)\ + $(GMSH_DEMO_DIR) $(GMSH_TUTOR_DIR) $(GMSH_DOC_DIR) $(GMSH_BOX_DIR); \ + do (cd $$i && $(RM) $(RMFLAGS) *~ *~~ .gmsh-tmp .gmsh-errors gmon.out); \ + done + +clean: + for i in $(GMSH_DIR) $(GMSH_DOC_DIR) $(GMSH_LIB_DIR) ; \ + do (cd $$i && $(MAKE) clean); \ + done + +nodepend: + for i in $(GMSH_DIR) ; do \ + (cd $$i && (sed '/^# DO NOT DELETE THIS LINE/q' Makefile) > Makefile.new \ + && cp Makefile Makefile.bak \ + && cp Makefile.new Makefile \ + && $(RM) $(RMFLAGS) Makefile.new); \ + done + +tag: + $(RM) $(RMFLAGS) Common/GmshVersion.h + echo "#define GMSH_VERSION $(GMSH_RELEASE)" > Common/GmshVersion.h + echo "#define GMSH_DATE \"`date`\"" >> Common/GmshVersion.h + echo "#define GMSH_HOST \"`hostname`\"" >> Common/GmshVersion.h + echo "#define GMSH_PACKAGER \"`whoami`\"" >> Common/GmshVersion.h + echo "#define GMSH_OS \"`uname -sr`\"" >> Common/GmshVersion.h + +initialtag: + @if [ ! -r Common/GmshVersion.h ]; then \ + $(MAKE) tag ; \ + fi + +tags: + gtags + htags + +tgz: + if (test -f $(GMSH_ARCHIVE).tar.gz); \ + then mv -f $(GMSH_ARCHIVE).tar.gz $(GMSH_ARCHIVE).tar.gz~; \ + fi + tar cvf $(GMSH_ARCHIVE).tar $(GMSH_SOURCES) + gzip $(GMSH_ARCHIVE).tar + chmod 640 $(GMSH_ARCHIVE).tar.gz + +src: + tar cvf $(GMSH_SRCRPM).tar $(GMSH_SOURCES) + gzip $(GMSH_SRCRPM).tar + +distrib: + mkdir gmsh-$(GMSH_RELEASE) + cp $(GMSH_BIN_DIR)/gmsh gmsh-$(GMSH_RELEASE) + cp -R tutorial gmsh-$(GMSH_RELEASE) + cp -R demos gmsh-$(GMSH_RELEASE) + rm -rf gmsh-$(GMSH_RELEASE)/*/CVS + rm -f gmsh-$(GMSH_RELEASE)/*/*.msh + rm -f gmsh-$(GMSH_RELEASE)/*/*~ + tar cvf gmsh-$(GMSH_RELEASE)-$(GMSH_UNAME).tar gmsh-$(GMSH_RELEASE) + gzip gmsh-$(GMSH_RELEASE)-$(GMSH_UNAME).tar + mv gmsh-$(GMSH_RELEASE)-$(GMSH_UNAME).tar.gz gmsh-$(GMSH_RELEASE)-$(GMSH_UNAME).tgz + rm -rf gmsh-$(GMSH_RELEASE) + +distrib-win: + cp $(GMSH_BIN_DIR)/gmsh.exe ../gmsh-distrib + cp doc/README.txt ../gmsh-distrib + cp -R tutorial ../gmsh-distrib + cp -R demos ../gmsh-distrib + rm -f ../gmsh-distrib/tutorial/README + rm -rf ../gmsh-distrib/*/CVS + rm -f ../gmsh-distrib/*/*.msh + rm -f ../gmsh-distrib/*/*~ + cd ../gmsh-distrib && zip -r gmsh-$(GMSH_RELEASE)-Windows.zip * + mv ../gmsh-distrib/gmsh-$(GMSH_RELEASE)-Windows.zip . + rm -rf ../gmsh-distrib/tutorial + rm -rf ../gmsh-distrib/demos + +strip_bin: + strip $(GMSH_BIN_DIR)/gmsh + +# ---------------------------------------------------------------------- +# Demos +# ---------------------------------------------------------------------- + +dem: + gtar zcvf gmsh-demos.tgz $(GMSH_DEMO_DIR) + gtar zcvf gmsh-tutorial.tgz $(GMSH_TUTOR_DIR) + +# ---------------------------------------------------------------------- +# Black Box +# ---------------------------------------------------------------------- + +bb: tag + @for i in $(GMSH_BOX_DIR); do (cd $$i && $(MAKE) \ + "CC=$(CC)" \ + "C_FLAGS=-O3" \ + "OS_FLAGS=" \ + "VERSION_FLAGS=-D_BLACKBOX" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=" \ + ); done + $(CC) -o $(GMSH_BIN_DIR)/gmsh-bb $(GMSH_BOX_LIB) -lm + +bb-parallel: tag + PARALLEL=1 + @for i in $(GMSH_BOX_DIR); do (cd $$i && $(MAKE) \ + "CC=mpiCC" \ + "C_FLAGS=-O3" \ + "OS_FLAGS=" \ + "VERSION_FLAGS=-D_BLACKBOX -DPARALLEL" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=" \ + ); done + mpiCC -o $(GMSH_BIN_DIR)/gmsh-bb $(GMSH_BOX_LIB) -lm + +bbn: tag + @for i in $(GMSH_BOX_DIR) ; do (cd $$i && $(MAKE) \ + "CC=g++ -mno-cygwin -I/mingw/include" \ + "C_FLAGS=-O3" \ + "OS_FLAGS=" \ + "VERSION_FLAGS=-D_BLACKBOX" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=" \ + ); done + g++ -o $(GMSH_BIN_DIR)/gmsh.exe -mno-cygwin -L/mingw/lib $(GMSH_BOX_LIB) -lm + +# ---------------------------------------------------------------------- +# Ready to compile for some platforms with MOTIF +# ---------------------------------------------------------------------- + +motif_dec: tag motif_compile_little_endian motif_link_opengl strip_bin + +motif_linux: tag motif_compile_little_endian motif_link_mesa strip_bin + +motif_linux_2952: tag motif_compile_little_endian_2952 motif_link_mesa_2952 strip_bin + +motif_ibm: tag motif_compile_big_endian motif_link_mesa strip_bin + +motif_sun: tag motif_compile_big_endian motif_link_opengl strip_bin + +motif_hp: tag motif_compile_big_endian motif_link_hp strip_bin + +motif_sgi: tag motif_compile_sgi motif_link_sgi strip_bin + +motif_rpm: src + mv $(GMSH_SRCRPM).tar.gz /usr/src/redhat/SOURCES + rpm -bb utils/gmsh_motif.spec + cp /usr/src/redhat/RPMS/i386/$(GMSH_SRCRPM)-1.i386.rpm . + cp /usr/src/redhat/BUILD/$(GMSH_SRCRPM)/bin/gmsh . + gtar zcvf gmsh-$(GMSH_UNAME).tgz gmsh + rm -f gmsh + +motif_compile_little_endian: + @for i in $(GMSH_XMOTIF_DIR); do (cd $$i && $(MAKE) \ + "CC=g++" \ + "C_FLAGS=-O3" \ + "OS_FLAGS=-D_LITTLE_ENDIAN" \ + "VERSION_FLAGS=-D_XMOTIF -D_NOPLUGIN" \ + "GL_INCLUDE=$(OPENGL_INC)" \ + "GUI_INCLUDE=$(MOTIF_INC)" \ + ); done + +motif_compile_little_endian_2952: + @for i in $(GMSH_XMOTIF_DIR); do (cd $$i && $(MAKE) \ + "CC=$(HOME)/gcc-2.95.2/bin/g++" \ + "C_FLAGS=-O3" \ + "OS_FLAGS=-D_LITTLE_ENDIAN" \ + "VERSION_FLAGS=-D_XMOTIF -D_NOPLUGIN" \ + "GL_INCLUDE=$(OPENGL_INC)" \ + "GUI_INCLUDE=$(MOTIF_INC)" \ + ); done + +motif_compile_little_endian_threads: + @for i in $(GMSH_XMOTIF_DIR); do (cd $$i && $(MAKE) \ + "CC=g++" \ + "C_FLAGS=-D_REENTRANT -O3" \ + "OS_FLAGS=-D_LITTLE_ENDIAN" \ + "VERSION_FLAGS=-D_XMOTIF -D_NOPLUGIN -D_USETHREADS" \ + "GL_INCLUDE=$(OPENGL_INC)" \ + "GUI_INCLUDE=$(MOTIF_INC)" \ + ); done + +motif_compile_big_endian: + @for i in $(GMSH_XMOTIF_DIR); do (cd $$i && $(MAKE) \ + "CC=g++" \ + "C_FLAGS=-O3" \ + "OS_FLAGS=" \ + "VERSION_FLAGS=-D_XMOTIF -D_NOPLUGIN" \ + "GL_INCLUDE=$(OPENGL_INC)" \ + "GUI_INCLUDE=$(MOTIF_INC)" \ + ); done + +# special car -O2 merde dans 3d_smesh.c sur TransfiniteHex() +motif_compile_sgi: + @for i in $(GMSH_XMOTIF_DIR); do (cd $$i && $(MAKE) \ + "CC=CC" \ + "C_FLAGS=-O2 -o32 -Olimit 3000" \ + "RANLIB=true"\ + "AR=CC -o32 -ar -o"\ + "OS_FLAGS=" \ + "VERSION_FLAGS=-D_XMOTIF -D_NOPLUGIN" \ + "GL_INCLUDE=$(OPENGL_INC)" \ + "GUI_INCLUDE=$(MOTIF_INC)" \ + ); done + @for i in Mesh; do (cd $$i && $(MAKE) \ + "CC=CC" \ + "C_FLAGS=-O1 -o32" \ + "AR=CC -o32 -ar -o"\ + "RANLIB=true"\ + "OS_FLAGS=" \ + "VERSION_FLAGS=-D_XMOTIF -D_NOPLUGIN" \ + "GL_INCLUDE=$(OPENGL_INC)" \ + "GUI_INCLUDE=$(MOTIF_INC)" \ + ); done + +motif_link_sgi: + CC -O2 -o32 -o $(GMSH_BIN_DIR)/gmsh $(GMSH_XMOTIF_LIB)\ + $(OPENGL_MOTIF_LIB) $(OPENGL_LIB) $(XMOTIF_LIB) -lm + +motif_link_opengl: + g++ -o $(GMSH_BIN_DIR)/gmsh $(GMSH_XMOTIF_LIB)\ + $(OPENGL_MOTIF_LIB) $(OPENGL_LIB) $(XMOTIF_LIB) -lm + +motif_link_mesa: + g++ -o $(GMSH_BIN_DIR)/gmsh $(GMSH_XMOTIF_LIB)\ + $(MESA_MOTIF_LIB) $(MESA_LIB) $(XMOTIF_LIB) -lm + +motif_link_mesa_2952: + $(HOME)/gcc-2.95.2/bin/g++ -o $(GMSH_BIN_DIR)/gmsh $(GMSH_XMOTIF_LIB)\ + $(MESA_MOTIF_LIB) $(MESA_LIB) $(XMOTIF_LIB) -lm + +motif_link_mesa_threads: + g++ -o $(GMSH_BIN_DIR)/gmsh $(GMSH_XMOTIF_LIB)\ + $(MESA_MOTIF_LIB) $(MESA_LIB) $(XMOTIF_LIB) $(THREAD_LIB) -lm + +# special car +s necessaire pour shared libs avec SHLIB_PATH variable. +motif_link_hp: + g++ -Wl,+s -o $(GMSH_BIN_DIR)/gmsh $(GMSH_XMOTIF_LIB)\ + $(MESA_MOTIF_LIB) $(MESA_LIB) $(XMOTIF_LIB) -lm +