--- makefile.orig 2014-01-05 15:35:37.000000000 +0100
+++ makefile 2014-03-09 22:07:32.000000000 +0100
@@ -5,7 +5,8 @@
#*********** fortran 2 c *******************
# Set F2C (for unix -lf2c and for MS windows if using Visual C++ to f2c.lib)
-F2C= -lf2c
+F2C= -lf2c -L%%LOCALBASE%%/lib
+F2C_INCLUDE= -I%%LOCALBASE%%/include
# *********** hypoplasticity ****************
# For hypoplasticity:
# install f2c on your computer (also see F2C above)
@@ -30,11 +31,11 @@
SYS_FILE=sysother
BCPP=-P
VCPP=
-COMPILER_C=bcc32
-COMPILER_CPP=bcc32
-COMPILER_FLAGS= -c -O2 -w-
+COMPILER_C=$(CC)
+COMPILER_CPP=$(CXX)
+COMPILER_FLAGS=$(CFLAGS) -c
OBJ=obj
-LINK_FLAGS_BEFORE= -l$(F2C)
+LINK_FLAGS_BEFORE= -l$(F2C) -L%%LOCALBASE%%/lib
LINK_FLAGS_AFTER=
# *********** SUPERLU library *******************
@@ -49,6 +50,9 @@
# SUPERLU_INCLUDE=-I/Users/fdolorenzo/Downloads/petsc-3.4.2/arch-darwin-c-debug/include
# 3. For SuperLU_MT be sure to compile a multi threaded version
# of Tochnog (sparc_parallel, alpha_parallel, linux, etc.
+SUPERLU=%%LOCALBASE%%
+SUPERLU_LIB=$(SUPERLU)/lib/lib%%SUPERLU%%.so %%BLAS_LIBS%%
+SUPERLU_INCLUDE=-I$(SUPERLU)/include/%%SUPERLU%%
# *********** PetSc library *******************
# Do NOT link together with the SUPERLU library
@@ -80,7 +84,7 @@
ALL_LIB= $(LAPACK_LIB) $(BLAS_LIB) $(F2C) -lm $(PETSC_LIB) $(SUPERLU_LIB)
# *********** default platform *******************
-default: darwin-intel
+default: freebsd_old
# single and multi-processor windows; borland c++ compiler
# set SYS_FILE above to syswin32 for multi-processor
@@ -130,17 +134,22 @@
"LINK_FLAGS_AFTER=-g -v -dynamic -undefined dynamic_lookup $(ALL_LIB) $(PROFILE) -dynamic -lpthread -o tochnog"
# single processor linux; gnu gcc compiler
-linux_old:
- make tochnog \
+freebsd_old:
+ ${MAKE} tochnog \
"SYS_FILE=sysother" \
"OBJ=o" \
- "BCPP=" \
- "VCPP=" \
- "COMPILER_C=gcc" \
- "COMPILER_CPP=g++-4.2" \
- "COMPILER_FLAGS= -ansi -c -O2 -Wall $(PROFILE) $(ALL_INCLUDE)" \
+ "COMPILER_FLAGS= -c ${CFLAGS} ${CPPFLAGS} $(ALL_INCLUDE)" \
"LINK_FLAGS_BEFORE=" \
- "LINK_FLAGS_AFTER= $(PROFILE) $(ALL_LIB) -static -lm -o tochnog"
+ "LINK_FLAGS_AFTER= $(PROFILE) $(ALL_LIB) ${LDFLAGS} -pthread -lm -o tochnog"
+
+# Multithreaded FreeBSD
+freebsd_parallel:
+ ${MAKE} tochnog \
+ "SYS_FILE=sysposix" \
+ "OBJ=o" \
+ "COMPILER_FLAGS= -c ${CFLAGS} ${CPPFLAGS} -D_REENTRANT $(ALL_INCLUDE)" \
+ "LINK_FLAGS_BEFORE=" \
+ "LINK_FLAGS_AFTER= $(PROFILE) $(ALL_LIB) ${LDFLAGS} -lpthread -lm -o tochnog"
# multi processor linux; gnu gcc compiler
linux:
@@ -289,7 +298,7 @@
renumber.$(OBJ) repeat.$(OBJ) restart.$(OBJ) \
slide.$(OBJ) \
so.$(OBJ) so_bicg.$(OBJ) \
- split.$(OBJ) \
+ so_suplu.$(OBJ) split.$(OBJ) \
spring.$(OBJ) stress.$(OBJ) \
$(SYS_FILE).$(OBJ) tendon.$(OBJ) time.$(OBJ) tn.$(OBJ) \
top.$(OBJ) truss.$(OBJ) \
@@ -401,7 +410,7 @@
$(COMPILER_CPP) $(COMPILER_FLAGS) $(BCPP) $(VCPP)hyperela.$(SRC_CPP)
$(HYPO_OBJ): $(HYPO_SRC)
- $(COMPILER_C) $(COMPILER_FLAGS) $(HYPO_SRC)
+ $(COMPILER_C) $(COMPILER_FLAGS) $(HYPO_SRC) $(F2C_INCLUDE)
hypoplas.$(OBJ): hypoplas.$(SRC_CPP) tochnog.h
$(COMPILER_CPP) $(COMPILER_FLAGS) $(BCPP) $(VCPP)hypoplas.$(SRC_CPP)
@@ -565,6 +574,9 @@
#so_petsc.$(OBJ): so_petsc.$(SRC_C) tochnog.h
# $(COMPILER_C) $(COMPILER_FLAGS) so_petsc.$(SRC_C)
+so_suplu.$(OBJ): so_suplu.$(SRC_C) tochnog.h
+ $(COMPILER_C) $(COMPILER_FLAGS) so_suplu.$(SRC_C)
+
split.$(OBJ): split.$(SRC_CPP) tochnog.h
$(COMPILER_CPP) $(COMPILER_FLAGS) $(BCPP) $(VCPP)split.$(SRC_CPP)