diff --git a/utils/oldmake b/utils/oldmake new file mode 100644 index 0000000000000000000000000000000000000000..f71966d6ad304ed4ed83c5f680bf827b2f637a0f --- /dev/null +++ b/utils/oldmake @@ -0,0 +1,735 @@ +# $Id: oldmake,v 1.1 2003-02-11 23:01:17 geuzaine Exp $ + +GMSH_MAJOR_VERSION = 1 +GMSH_MINOR_VERSION = 37 +GMSH_PATCH_VERSION = 1 + +MAKE = make +CXX = c++ +CC = cc +FLAGS = -g -Wall +RM = rm +RMFLAGS = -f + +FLTK_DIR = $(HOME)/SOURCES/fltk-1.1 + +# ---------------------------------------------------------------------- +# Gmsh definitions +# ---------------------------------------------------------------------- + +GMSH_COMMON_DIR = Common DataStr Geo Mesh Numeric Parallel Parser Plugin Triangle +GMSH_BOX_DIR =$(GMSH_COMMON_DIR) Box +GMSH_FLTK_DIR = $(GMSH_COMMON_DIR) Graphics Fltk jpeg +GMSH_DIR = $(GMSH_COMMON_DIR) Box Graphics Fltk jpeg utils +GMSH_BIN_DIR = bin +GMSH_LIB_DIR = lib +GMSH_DOC_DIR = doc +GMSH_DEMO_DIR = demos +GMSH_TUTORIAL_DIR = tutorial +GMSH_ARCHIVE_DIR = archives + +GMSH_BOX_LIB = -L$(GMSH_LIB_DIR) -lGmshBox -lGmshParser -lGmshMesh -lGmshGeo -lGmshNumeric\ + -lGmshPlugin -lGmshCommon -lGmshDataStr -lGmshParallel -lGmshTriangle +GMSH_FLTK_LIB = -L$(GMSH_LIB_DIR) -lGmshFltk -lGmshParser -lGmshGraphics -lGmshMesh\ + -lGmshGeo -lGmshNumeric -lGmshCommon -lGmshDataStr -lGmshJpeg -lGmshPlugin\ + -lGmshParallel -lGmshTriangle + +GMSH_VERSION_FILE = Common/GmshVersion.h +GMSH_RELEASE = $(GMSH_MAJOR_VERSION).$(GMSH_MINOR_VERSION).$(GMSH_PATCH_VERSION) +GMSH_ARCHIVE = $(GMSH_ARCHIVE_DIR)/gmsh-`date "+%Y.%m.%d"` +GMSH_UNAME = `uname` +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 \)` + +default: + @echo "Type one of the following:" + @echo " make aix for IBM RS/6000 with AIX" + @echo " make cygwin for Win95/NT using Cygnus-Win32" + @echo " make gcc for a generic system with GCC" + @echo " make hpux for HP systems with HPUX 9.x/10.x using GCC" + @echo " make irix for SGI systems with IRIX" + @echo " make linux for Linux systems" + @echo " make macosx for Macintosh with Mac OS X and GCC" + @echo " make osf1 for DEC Alpha systems with OSF/1" + @echo " make sunos for Suns with SunOS" + @echo "" + @echo "You need fltk (http://www.fltk.org) version 1.1.x installed" + @echo "in $(FLTK_DIR) (or add \"FLTK_DIR=dir\"" + @echo "to the above commands, e.g., make linux \"FLTK_DIR=/opt/fltk\")" + @echo "" + @echo "If your system is not listed above, edit the Makefile" + +# ---------------------------------------------------------------------- +# Ready to compile for some platforms +# ---------------------------------------------------------------------- + +# +# Source distribution +# +source: + tar zcvf gmsh.tgz `ls README* Makefile */Makefile */*.[chyl] */*.[ch]pp\ + */*.rc */*.res */*.ico */*.icns */*.pl */*.pm */*.opt */*.spec`\ + doc demos tutorial + mkdir gmsh-$(GMSH_RELEASE) + cd gmsh-$(GMSH_RELEASE) && tar zxvf ../gmsh.tgz + rm -f gmsh.tgz + cd gmsh-$(GMSH_RELEASE) && rm -rf CVS */CVS */*/CVS */.globalrc $(GMSH_VERSION_FILE) +# cd gmsh-$(GMSH_RELEASE) && zip -r gmsh-$(GMSH_RELEASE)-source.zip * +# mv gmsh-$(GMSH_RELEASE)/gmsh-$(GMSH_RELEASE)-source.zip . + tar zcvf gmsh-$(GMSH_RELEASE)-source.tgz gmsh-$(GMSH_RELEASE) + rm -rf gmsh-$(GMSH_RELEASE) + +# +# Generic little endian machine (e.g. with gcc) +# +compile: initialtag + @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ + "CXX=$(CXX)" \ + "CC=$(CC)" \ + "OPT_FLAGS=$(FLAGS)" \ + "OS_FLAGS=-D_LITTLE_ENDIAN" \ + "VERSION_FLAGS=-D_FLTK" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I$(FLTK_DIR)" \ + ); done +link: + $(CXX) $(FLAGS) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB)\ + -L$(FLTK_DIR)/lib -lfltk_gl -lGLU -lGL -lfltk\ + -L/usr/X11R6/lib -lX11 -lm +gcc: compile link + +# +# Linux +# +compile-linux: initialtag + @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ + "CXX=$(CXX)" \ + "CC=$(CC)" \ + "OPT_FLAGS=-O3 -Wall -Wno-uninitialized" \ + "OS_FLAGS=-D_LITTLE_ENDIAN" \ + "VERSION_FLAGS=-D_FLTK" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I$(FLTK_DIR)" \ + ); done +link-linux: + $(CXX) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB)\ + -L$(FLTK_DIR)/lib -lfltk_gl -lGLU -lGL -lfltk\ + -L/usr/X11R6/lib -lX11 -lm -ldl +linux: compile-linux link-linux + +# +# Linux fltk 2.0 (beta) +# +compile-fltk2: initialtag + @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ + "CXX=$(CXX)" \ + "CC=$(CC)" \ + "OPT_FLAGS=-g -Wall" \ + "OS_FLAGS=-D_LITTLE_ENDIAN" \ + "VERSION_FLAGS=-D_FLTK" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I$(HOME)/SOURCES/fltk-2.0" \ + ); done +link-fltk2: + $(CXX) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB)\ + $(HOME)/SOURCES/fltk-2.0/lib/libfltk_gl.so.2\ + -lGLU -lGL \ + $(HOME)/SOURCES/fltk-2.0/lib/libfltk.so.2 \ + -L/usr/X11R6/lib -lX11 -lm +fltk2: compile-fltk2 link-fltk2 + +# +# Linux fltk 1.0 (obsolete) +# +compile-fltk1: initialtag + @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ + "CXX=$(CXX)" \ + "CC=$(CC)" \ + "OPT_FLAGS=-g -Wall" \ + "OS_FLAGS=-D_LITTLE_ENDIAN" \ + "VERSION_FLAGS=-D_FLTK" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I$(HOME)/SOURCES/fltk" \ + ); done +link-fltk1: + $(CXX) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB)\ + -L$(HOME)/SOURCES/fltk/lib -lfltk -lGLU -lGL \ + -L/usr/X11R6/lib -lX11 -lm +fltk1: compile-fltk1 link-fltk1 + +# +# Linux, gcc-2.95.x (optimized build is very buggy) +# +compile-linux-gcc-2.95: initialtag + @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ + "CXX=$(HOME)/gcc-2.95.3/bin/g++" \ + "CC=$(HOME)/gcc-2.95.3/bin/gcc" \ + "OPT_FLAGS=-g" \ + "OS_FLAGS=-D_LITTLE_ENDIAN" \ + "VERSION_FLAGS=-D_FLTK" \ + "GL_INCLUDE=-I/usr/X11R6/include" \ + "GUI_INCLUDE=-I$(FLTK_DIR)" \ + ); done +link-linux-gcc-2.95: + $(HOME)/gcc-2.95.3/bin/g++ -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB)\ + -L$(FLTK_DIR)/lib -lfltk_gl -lGLU -lGL -lfltk\ + -L/usr/X11R6/lib -lX11 -lm -ldl +linux-gcc-2.95: compile-linux-gcc-2.95 link-linux-gcc-2.95 +distrib-linux-gcc-2.95: + make clean + make tag + @for i in $(GMSH_BOX_DIR); do (cd $$i && $(MAKE) \ + "CXX=$(HOME)/gcc-2.95.3/bin/g++" \ + "CC=$(HOME)/gcc-2.95.3/bin/gcc" \ + "OPT_FLAGS=-g" \ + "OS_FLAGS=-D_LITTLE_ENDIAN" \ + "VERSION_FLAGS=-D_BLACKBOX" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=" \ + ); done + $(HOME)/gcc-2.95.3/bin/g++ -o $(GMSH_BIN_DIR)/gmsh-batch $(GMSH_BOX_LIB) -lm -ldl + make clean + make linux-gcc-2.95 + make distrib +rpm: + tar zcvf gmsh-$(GMSH_RELEASE).tar.gz $(GMSH_SOURCES) + mv gmsh-$(GMSH_RELEASE).tar.gz /usr/src/redhat/SOURCES + rpm -bb --define 'gmshversion $(GMSH_RELEASE)' utils/gmsh.spec + cp /usr/src/redhat/RPMS/i386/gmsh-$(GMSH_RELEASE)-?.i386.rpm . + cp /usr/src/redhat/BUILD/gmsh-$(GMSH_RELEASE)/gmsh-$(GMSH_RELEASE)-$(GMSH_UNAME).tgz . + +# +# Linux SCOREC +# +compile-linux-scorec: initialtag + @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ + "CXX=$(CXX)" \ + "CC=$(CC)" \ + "OPT_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 +link-linux-scorec: + $(CXX) -o $(GMSH_BIN_DIR)/gmsh-linux $(GMSH_FLTK_LIB) -lGLU -lGL \ + /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 + +# +# Digital (Compaq) OSF1/Digital Unix/Tru64 +# +compile-osf1: initialtag + @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ + "CXX=$(CXX)" \ + "CC=$(CC)" \ + "OPT_FLAGS=-O2" \ + "OS_FLAGS=-D_LITTLE_ENDIAN" \ + "VERSION_FLAGS=-D_FLTK" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I$(FLTK_DIR)" \ + ); done +link-osf1: + $(CXX) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB)\ + -L$(FLTK_DIR)/lib -lfltk_gl -lGLU -lGL -lfltk\ + -lX11 -lm +osf1: compile-osf1 link-osf1 +distrib-osf1: + make clean + make tag + @for i in $(GMSH_BOX_DIR); do (cd $$i && $(MAKE) \ + "CXX=$(CXX)" \ + "CC=$(CC)" \ + "OPT_FLAGS=-O2" \ + "OS_FLAGS=-D_LITTLE_ENDIAN" \ + "VERSION_FLAGS=-D_BLACKBOX" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=" \ + ); done + $(CXX) -o $(GMSH_BIN_DIR)/gmsh-batch $(GMSH_BOX_LIB) -lm + make clean + make osf1 + make distrib +# +# HP-UX +# +compile-hpux: initialtag + @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ + "CXX=g++" \ + "CC=gcc" \ + "OPT_FLAGS=-O2" \ + "OS_FLAGS=" \ + "VERSION_FLAGS=-D_FLTK -D_NODLL" \ + "GL_INCLUDE=-I$(HOME)/SOURCES/Mesa-3.1/include" \ + "GUI_INCLUDE=-I$(FLTK_DIR)" \ + ); done +link-hpux: + g++ -Wl,+s -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB)\ + -L$(FLTK_DIR)/lib -lfltk_gl\ + -L$(HOME)/SOURCES/Mesa-3.1/lib -lGLU -lGL -lfltk\ + -lX11 -lm +hpux: compile-hpux link-hpux +distrib-hpux: + make clean + make tag + @for i in $(GMSH_BOX_DIR); do (cd $$i && $(MAKE) \ + "CXX=g++" \ + "CC=gcc" \ + "OPT_FLAGS=-O2" \ + "OS_FLAGS=" \ + "VERSION_FLAGS=-D_BLACKBOX -D_NODLL" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=" \ + ); done + g++ -o $(GMSH_BIN_DIR)/gmsh-batch $(GMSH_BOX_LIB) -lm + make clean + make hpux + make distrib +# +# IBM AIX +# +compile-aix: initialtag + @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ + "CXX=$(CXX)" \ + "CC=$(CC)" \ + "OPT_FLAGS=-O2" \ + "OS_FLAGS=-D_BSD" \ + "VERSION_FLAGS=-D_FLTK -D_NODLL" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I$(FLTK_DIR)" \ + ); done +link-aix: + $(CXX) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB)\ + -L$(FLTK_DIR)/lib -lfltk_gl -lGLU -lGL -lfltk\ + -lX11 -lm +aix: compile-aix link-aix +distrib-aix: + make clean + make tag + @for i in $(GMSH_BOX_DIR); do (cd $$i && $(MAKE) \ + "CXX=$(CXX)" \ + "CC=$(CC)" \ + "OPT_FLAGS=-O2" \ + "OS_FLAGS=-D_BSD" \ + "VERSION_FLAGS=-D_BLACKBOX -D_NODLL" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=" \ + ); done + $(CXX) -o $(GMSH_BIN_DIR)/gmsh-batch $(GMSH_BOX_LIB) -lm + make clean + make aix + make distrib +# +# SGI Irix +# +compile-irix: initialtag + @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ + "CXX=CC" \ + "CC=cc" \ + "OPT_FLAGS=-O2 -OPT:Olimit=0 -LANG:std" \ + "RANLIB=true"\ + "AR=CC -mips3 -n32 -ar -o"\ + "OS_FLAGS=-mips3 -n32" \ + "VERSION_FLAGS=-D_FLTK" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I$(FLTK_DIR)" \ + ); done +link-irix: + CC -O2 -mips3 -n32 -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB)\ + -L$(FLTK_DIR)/lib -lfltk_gl -lfltk -lX11 -lGLU -lGL -lm +irix: compile-irix link-irix +distrib-irix: + make clean + make tag + @for i in $(GMSH_BOX_DIR); do (cd $$i && $(MAKE) \ + "CXX=CC" \ + "CC=cc" \ + "OPT_FLAGS=-O2 -OPT:Olimit=0 -LANG:std" \ + "RANLIB=true"\ + "AR=CC -mips3 -n32 -ar -o"\ + "OS_FLAGS=-mips3 -n32" \ + "VERSION_FLAGS=-D_BLACKBOX" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=" \ + ); done + CC -O2 -mips3 -n32 -o $(GMSH_BIN_DIR)/gmsh-batch $(GMSH_BOX_LIB) -lm + make clean + make irix + make distrib + +# +# Cygwin +# +compile-cygwin: initialtag + @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ + "CXX=g++" \ + "CC=gcc" \ + "OPT_FLAGS=-O2" \ + "OS_FLAGS=-mwindows -DWIN32 -D_LITTLE_ENDIAN" \ + "VERSION_FLAGS=-D_FLTK" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I$(FLTK_DIR)" \ + ); done +link-cygwin: + g++ -Wl,--subsystem,windows -mwindows -o $(GMSH_BIN_DIR)/gmsh.exe\ + $(GMSH_FLTK_LIB) Fltk/Win32Icon.res $(FLTK_DIR)/lib/libfltk_gl.a\ + -lglu32 -lopengl32 $(FLTK_DIR)/lib/libfltk.a \ + -lole32 -luuid -lcomctl32 -lwsock32 -lm +cygwin: compile-cygwin link-cygwin +distrib-cygwin: + make clean + make tag + make cygwin + make distrib-win + +# +# Cygwin gertha-buro +# +cygwin-gertha-buro: initialtag + @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ + "CXX=g++" \ + "CC=gcc" \ + "OPT_FLAGS=-O2" \ + "OS_FLAGS=-DWIN32 -D_LITTLE_ENDIAN" \ + "VERSION_FLAGS=-D_FLTK" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I../../fltk" \ + ); done + g++ -Wl,--subsystem,windows -o $(GMSH_BIN_DIR)/gmsh.exe $(GMSH_FLTK_LIB)\ + Fltk/Win32Icon.res ../fltk/lib/libfltk.a\ + -lglu32 -lopengl32 -lgdi32 -lwsock32 -lm + +# +# Cygwin laptop jf +# +cygwin-laptopjf: initialtag + @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ + "CXX=g++" \ + "CC=gcc" \ + "OPT_FLAGS=-O2" \ + "OS_FLAGS=-DWIN32 -D_LITTLE_ENDIAN" \ + "VERSION_FLAGS=-D_FLTK" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I../../fltk-1.0.9" \ + ); done + g++ -Wl,--subsystem,windows -o $(GMSH_BIN_DIR)/gmsh-cyg.exe $(GMSH_FLTK_LIB)\ + Fltk/Win32Icon.res ../fltk-1.0.9/lib/libfltk.a\ + -lglu32 -lopengl32 -lgdi32 -lwsock32 -lm +cygwin-laptopjf_tag: tag cygwin-laptopjf + +# +# Sun SunOS +# +compile-sunos: initialtag + @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ + "CXX=g++" \ + "CC=gcc" \ + "OPT_FLAGS=-O2" \ + "OS_FLAGS=" \ + "VERSION_FLAGS=-D_FLTK -D_NODLL" \ + "GL_INCLUDE=-I$(HOME)/SOURCES/Mesa-3.1/include" \ + "GUI_INCLUDE=-I$(FLTK_DIR)" \ + ); done +link-sunos: + g++ -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB)\ + -L$(FLTK_DIR)/lib -lfltk_gl\ + -L$(HOME)/SOURCES/Mesa-3.1/lib -lGLU -lGL -lfltk\ + -lX11 -lXext -lsocket -lnsl -ldl -lm +sunos: compile-sunos link-sunos +distrib-sunos: + make clean + make tag + @for i in $(GMSH_BOX_DIR); do (cd $$i && $(MAKE) \ + "CXX=g++" \ + "CC=gcc" \ + "OPT_FLAGS=-O2" \ + "OS_FLAGS=" \ + "VERSION_FLAGS=-D_BLACKBOX -D_NODLL" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=" \ + ); done + g++ -o $(GMSH_BIN_DIR)/gmsh-batch $(GMSH_BOX_LIB) -lm + make clean + make sunos + make distrib +# +# Solaris SCOREC +# +compile-solaris-scorec: initialtag + @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ + "CXX=$(CXX)" \ + "CC=$(CC)" \ + "OPT_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: + $(CXX) -o $(GMSH_BIN_DIR)/gmsh-sun $(GMSH_FLTK_LIB) -lGLU -lGL \ + /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 + +# +# MacOS X +# - we don't use resource forks anymore in the distributed version, but we +# leave the Rez step so that one can still launch a working version +# from the command line without having to do "distrib-mac". +# - use 'otool -L' to check linked dynamic libraries +# +compile-macosx: initialtag + @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ + "CXX=$(CXX)" \ + "CC=$(CC)" \ + "AR=ar ruv" \ + "OPT_FLAGS=-O2" \ + "OS_FLAGS=" \ + "VERSION_FLAGS=-D_FLTK -D_NODLL" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I$(FLTK_DIR)" \ + ); done +link-macosx: + $(CXX) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB) -L$(FLTK_DIR)/lib -lfltk_gl -lfltk \ + -framework AGL -framework OpenGL -framework Carbon -framework ApplicationServices + /Developer/Tools/Rez -t APPL -o $(GMSH_BIN_DIR)/gmsh $(FLTK_DIR)/FL/mac.r +macosx: compile-macosx link-macosx +distrib-macosx: + make clean + make tag + make macosx + make distrib-mac + +# ---------------------------------------------------------------------- +# Rules for developers +# ---------------------------------------------------------------------- + +gmsh: link + +static: + @for i in $(GMSH_FLTK_DIR); do (cd $$i && $(MAKE) \ + "CXX=$(CXX)" \ + "CC=$(CC)" \ + "OPT_FLAGS=-O3" \ + "OS_FLAGS=-D_LITTLE_ENDIAN" \ + "VERSION_FLAGS=-D_FLTK" \ + "GL_INCLUDE=-I$(HOME)/SOURCES/Mesa-static/include" \ + "GUI_INCLUDE=-I$(FLTK_DIR)" \ + ); done + $(CXX) -o $(GMSH_BIN_DIR)/gmshm $(GMSH_FLTK_LIB)\ + $(FLTK_DIR)/lib/libfltk_gl.a\ + $(HOME)/SOURCES/Mesa-static/lib/libGLU.a\ + $(HOME)/SOURCES/Mesa-static/lib/libGL.a\ + $(FLTK_DIR)/lib/libfltk.a -lX11 -lm + +purify: + purify -cache-dir=/space g++ -o $(GMSH_BIN_DIR)/gmsh-sun $(GMSH_FLTK_LIB) -lGLU -lGL \ + /users/develop/develop/visual/fltk/1.0/lib/sun4_5/libfltk-gcc.a\ + -L/usr/X11R6/lib -lX11 -lm -ldl -lsocket + +efence: + $(CXX) -o $(GMSH_BIN_DIR)/gmsh $(GMSH_FLTK_LIB)\ + -L$(FLTK_DIR)/lib -lfltk_gl -lGLU -lGL -lfltk\ + -L/usr/X11R6/lib -lX11 -lefence -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_TUTORIAL_DIR) $(GMSH_DOC_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 + $(RM) $(RMFLAGS) $(GMSH_VERSION_FILE) + +depend: + for i in $(GMSH_DIR); \ + do (cd $$i && $(MAKE) depend \ + "CXX=$(CXX)" \ + "CC=$(CC)" \ + "VERSION_FLAGS=-D_FLTK" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=-I$(FLTK_DIR)" \ + ); 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) $(GMSH_VERSION_FILE) + echo "#define GMSH_MAJOR_VERSION $(GMSH_MAJOR_VERSION)" > $(GMSH_VERSION_FILE) + echo "#define GMSH_MINOR_VERSION $(GMSH_MINOR_VERSION)" >> $(GMSH_VERSION_FILE) + echo "#define GMSH_PATCH_VERSION $(GMSH_PATCH_VERSION)" >> $(GMSH_VERSION_FILE) + echo "#define GMSH_VERSION ((double)GMSH_MAJOR_VERSION + \\" >> $(GMSH_VERSION_FILE) + echo " 0.01 * (double)GMSH_MINOR_VERSION + \\" >> $(GMSH_VERSION_FILE) + echo " 0.0001 * (double)GMSH_PATCH_VERSION)" >> $(GMSH_VERSION_FILE) + echo "#define GMSH_DATE \"`date`\"" >> $(GMSH_VERSION_FILE) + echo "#define GMSH_HOST \"`hostname`\"" >> $(GMSH_VERSION_FILE) + echo "#define GMSH_PACKAGER \"`whoami`\"" >> $(GMSH_VERSION_FILE) + echo "#define GMSH_OS \"`uname -sr`\"" >> $(GMSH_VERSION_FILE) + +initialtag: + @if [ ! -r $(GMSH_VERSION_FILE) ]; 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 + +minizip: + tar jcvf gmsh-`date "+%Y.%m.%d"`.tar.bz2 \ + `ls Makefile */Makefile */*.[chyl] */*.[ch]pp */*.rc */*.res */*.ico` + +# Add doc/COPYING as soon as we are GPL'ed + +distrib: + rm -rf gmsh-$(GMSH_RELEASE) + mkdir gmsh-$(GMSH_RELEASE) + strip $(GMSH_BIN_DIR)/gmsh + cp $(GMSH_BIN_DIR)/gmsh gmsh-$(GMSH_RELEASE) + strip $(GMSH_BIN_DIR)/gmsh-batch + cp $(GMSH_BIN_DIR)/gmsh-batch gmsh-$(GMSH_RELEASE) + cp doc/gmsh.1 doc/FORMATS doc/VERSIONS doc/FAQ doc/CONTRIBUTORS 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 + +distrib-win: + strip $(GMSH_BIN_DIR)/gmsh.exe + cp $(GMSH_BIN_DIR)/gmsh.exe ../gmsh-distrib + cp doc/README.txt ../gmsh-distrib + cp doc/FORMATS ../gmsh-distrib/FORMATS.txt + cp doc/VERSIONS ../gmsh-distrib/VERSIONS.txt + cp doc/FAQ ../gmsh-distrib/FAQ.txt + cp doc/CONTRIBUTORS ../gmsh-distrib/CONTRIBUTORS.txt + cd utils && unix2dos ../../gmsh-distrib/*.txt + cp -R tutorial ../gmsh-distrib + cp -R demos ../gmsh-distrib + rm -rf ../gmsh-distrib/*/CVS + rm -f ../gmsh-distrib/*/*.msh + rm -f ../gmsh-distrib/*/*~ + cd utils && unix2dos ../../gmsh-distrib/tutorial/* ../../gmsh-distrib/demos/* + cd ../gmsh-distrib && zip -r gmsh-$(GMSH_RELEASE)-Windows.zip * + mv ../gmsh-distrib/gmsh-$(GMSH_RELEASE)-Windows.zip . + rm -rf ../gmsh-distrib/*.txt + rm -rf ../gmsh-distrib/tutorial + rm -rf ../gmsh-distrib/demos + +distrib-mac: + rm -rf gmsh-$(GMSH_RELEASE) + mkdir gmsh-$(GMSH_RELEASE) + mkdir gmsh-$(GMSH_RELEASE)/Gmsh.app + mkdir gmsh-$(GMSH_RELEASE)/Gmsh.app/Contents + mkdir gmsh-$(GMSH_RELEASE)/Gmsh.app/Contents/Resources + mkdir gmsh-$(GMSH_RELEASE)/Gmsh.app/Contents/MacOS + echo "APPLGMSH" > gmsh-$(GMSH_RELEASE)/Gmsh.app/Contents/PkgInfo + echo -e "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"\ + "<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\""\ + " \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n"\ + "<plist version=\"1.0\">\n"\ + " <dict>\n"\ + " <key>CFBundleName</key><string>Gmsh</string>\n"\ + " <key>CFBundleExecutable</key><string>Gmsh</string>\n"\ + " <key>CFBundlePackageType</key><string>APPL</string>\n"\ + " <key>CFBundleVersion</key><string>$(GMSH_RELEASE)</string>\n"\ + " <key>CFBundleShortVersionString</key><string>$(GMSH_RELEASE)</string>\n"\ + " <key>CFBundleIconFile</key><string>gmsh.icns</string>\n"\ + " <key>CFBundleSignature</key><string>GMSH</string>\n"\ + " <key>CFBundleGetInfoString</key><string>Gmsh $(GMSH_RELEASE),"\ + "(c) C. Geuzaine and J.-F. Remacle, 1997-2003</string>\n"\ + " <key>CFBundleIdentifier</key><string>org.geuz.Gmsh</string>\n"\ + " <key>NSHelpFile</key><string>tutorial.html</string>\n"\ + " </dict>\n"\ + "</plist>" > gmsh-$(GMSH_RELEASE)/Gmsh.app/Contents/Info.plist + strip $(GMSH_BIN_DIR)/gmsh + cp $(GMSH_BIN_DIR)/gmsh gmsh-$(GMSH_RELEASE)/Gmsh.app/Contents/MacOS/Gmsh + cp Fltk/MacIcons.icns gmsh-$(GMSH_RELEASE)/Gmsh.app/Contents/Resources/gmsh.icns + cp tutorial/tutorial.html gmsh-$(GMSH_RELEASE)/Gmsh.app/Contents/Resources + cp -R doc/gmsh.1 tutorial demos gmsh-$(GMSH_RELEASE) + cp doc/FORMATS gmsh-$(GMSH_RELEASE)/FORMATS.txt + cp doc/VERSIONS gmsh-$(GMSH_RELEASE)/VERSIONS.txt + cp doc/FAQ gmsh-$(GMSH_RELEASE)/FAQ.txt + cp doc/CONTRIBUTORS gmsh-$(GMSH_RELEASE)/CONTRIBUTORS.txt + rm -rf gmsh-$(GMSH_RELEASE)/*/CVS\ + gmsh-$(GMSH_RELEASE)/*/*~\ + gmsh-$(GMSH_RELEASE)/*/*.msh + tar zcvf gmsh-$(GMSH_RELEASE)-MacOSX.tgz gmsh-$(GMSH_RELEASE) + +dem: + gtar zcvf gmsh-demos.tgz $(GMSH_DEMO_DIR) + gtar zcvf gmsh-tutorial.tgz $(GMSH_TUTORIAL_DIR) + +# ---------------------------------------------------------------------- +# Black Box +# ---------------------------------------------------------------------- + +bb: initialtag + @for i in $(GMSH_BOX_DIR); do (cd $$i && $(MAKE) \ + "CXX=$(CXX)" \ + "CC=$(CC)" \ + "OPT_FLAGS=$(FLAGS)" \ + "OS_FLAGS=" \ + "VERSION_FLAGS=-D_BLACKBOX" \ + "GL_INCLUDE=" \ + "GUI_INCLUDE=" \ + ); done + $(CXX) -o $(GMSH_BIN_DIR)/gmsh-bb $(GMSH_BOX_LIB) -lm + +bb-parallel: initialtag + @for i in $(GMSH_BOX_DIR); do (cd $$i && $(MAKE) \ + "CXX=mpiCC" \ + "CC=mpicc" \ + "OPT_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 + +bb-mingw: initialtag + @for i in $(GMSH_BOX_DIR) ; do (cd $$i && $(MAKE) \ + "CXX=g++" \ + "CC=gcc" \ + "OPT_FLAGS=-O3" \ + "OS_FLAGS=-mno-cygwin -I/mingw/include" \ + "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