mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
213 lines
4.8 KiB
Makefile
213 lines
4.8 KiB
Makefile
#*************************************************************************
|
|
# Global flags
|
|
#*************************************************************************
|
|
gdb = yes
|
|
debug = no
|
|
memdbg = no
|
|
openmp = no
|
|
pcre = no
|
|
x86compiler = gcc
|
|
|
|
|
|
|
|
#*************************************************************************
|
|
# System-specific compilation flags
|
|
#*************************************************************************
|
|
# Get some basic information about the system that you are working on
|
|
cputype = $(shell uname -m | sed "s/\\ /_/g")
|
|
systype = $(shell uname)
|
|
ifeq ($(findstring CYGWIN, $(systype)),CYGWIN)
|
|
systype = MSWIN
|
|
# systype = CYGWIN
|
|
cputype = x86
|
|
endif
|
|
|
|
|
|
|
|
ifeq ($(systype),MSWIN)
|
|
#-------------------------------------------------------------------
|
|
# These defs are very much Visual Studio Specific
|
|
#-------------------------------------------------------------------
|
|
#Compiler information
|
|
CC = cl
|
|
OPTFLAGS = /Ox
|
|
COPTIONS = -DWIN32 -DMSC -D_CRT_SECURE_NO_DEPRECATE
|
|
|
|
#Linker information
|
|
LDOPTIONS =
|
|
LD = /cygdrive/c/Program\ Files/Microsoft\ Visual\ Studio\ 8/VC/BIN/link
|
|
|
|
#Library creation information
|
|
AR = lib /NODEFAULTLIB:LIBC /OUT:$@
|
|
RANLIB =
|
|
|
|
ifeq ($(openmp),yes)
|
|
COPTIONS += -D__OPENMP__ /openmp
|
|
LDOPTIONS += /openmp
|
|
endif
|
|
|
|
#Compile input/output file specification
|
|
SOURCEFILE = /c $<
|
|
OUTPUTFILE = /Fo$@
|
|
|
|
# Standard file extensions
|
|
OBJEXT = .obj
|
|
LIBEXT = .lib
|
|
EXEEXT = .exe
|
|
else
|
|
ifeq ($(systype),Linux)
|
|
ifeq ($(x86compiler),gcc)
|
|
#Compiler information
|
|
CC = gcc
|
|
OPTFLAGS = -O6
|
|
COPTIONS = -DLINUX -D_FILE_OFFSET_BITS=64 -Wall -std=c99 -pedantic
|
|
|
|
#Linker information
|
|
LDOPTIONS =
|
|
LD = gcc
|
|
else
|
|
#Compiler information
|
|
CC = icc
|
|
OPTFLAGS = -O3
|
|
COPTIONS = -DLINUX -D_FILE_OFFSET_BITS=64 -std=c99
|
|
|
|
#Linker information
|
|
LDOPTIONS =
|
|
LD = icc
|
|
|
|
ifeq ($(openmp),yes)
|
|
COPTIONS += -D__OPENMP__ -openmp -openmp-report2
|
|
LDOPTIONS += -openmp
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
|
|
ifeq ($(systype),Darwin)
|
|
#Compiler information
|
|
CC = gcc
|
|
OPTFLAGS = -O6
|
|
COPTIONS = -DDARWIN -D_FILE_OFFSET_BITS=64 -Wall -std=c99 -pedantic
|
|
|
|
#Linker information
|
|
LDOPTIONS =
|
|
LD = gcc
|
|
|
|
#Linker information
|
|
LDOPTIONS =
|
|
LD = gcc
|
|
endif
|
|
|
|
|
|
ifeq ($(systype),SunOS)
|
|
#Compiler information
|
|
CC = /opt/SUNWspro/bin/cc
|
|
OPTFLAGS = -xO4
|
|
COPTIONS = -DSUNOS
|
|
|
|
#Linker information
|
|
LDOPTIONS =
|
|
LD = /opt/SUNWspro/bin/cc
|
|
endif
|
|
|
|
ifeq ($(systype),CYGWIN)
|
|
#Compiler information
|
|
CC = gcc
|
|
OPTFLAGS = -O6
|
|
COPTIONS = -DCYGWIN -DWIN32 -D_FILE_OFFSET_BITS=64 -Wall -std=c99 -pedantic -mno-cygwin
|
|
|
|
#Linker information
|
|
LDOPTIONS = -mno-cygwin
|
|
LD = gcc
|
|
endif
|
|
|
|
|
|
#-------------------------------------------------------------------
|
|
# These defs are common among the GNU/GCC based systems
|
|
#-------------------------------------------------------------------
|
|
#Library creation information
|
|
AR = ar crv $@
|
|
RANLIB = ar -ts $@
|
|
|
|
#Compile input/output file specification
|
|
SOURCEFILE = -c $<
|
|
OUTPUTFILE = -o $@
|
|
|
|
# Standard file extensions
|
|
OBJEXT = .o
|
|
LIBEXT = .a
|
|
EXEEXT =
|
|
endif
|
|
|
|
|
|
#**************************************************************************
|
|
DMALLOCINC =
|
|
DMALLOCFLAGS =
|
|
DEBUGFLAGS =
|
|
XTRAFLAGS =
|
|
|
|
ifeq ($(dmalloc),yes)
|
|
DMALLOCINC = -I$(HOME)/local/include
|
|
DMALLOCFLAGS = -DDMALLOC
|
|
OPTFLAGS = -g
|
|
endif
|
|
|
|
ifeq ($(debug),yes)
|
|
DEBUGFLAGS = -DDEBUG
|
|
OPTFLAGS = -g
|
|
endif
|
|
|
|
ifeq ($(gdb),yes)
|
|
OPTFLAGS += -g
|
|
endif
|
|
|
|
ifeq ($(pcre),yes)
|
|
XTRAFLAGS += -D__WITHPCRE__
|
|
endif
|
|
#**************************************************************************
|
|
|
|
|
|
|
|
#**************************************************************************
|
|
INCLUDES = -I./ $(INCDIR) $(DMALLOCINC)
|
|
CFLAGS = $(COPTIONS) $(OPTFLAGS) $(XTRAFLAGS) $(DMALLOCFLAGS) $(DEBUGFLAGS) $(INCLUDES)
|
|
#**************************************************************************
|
|
|
|
|
|
#**************************************************************************
|
|
# Create the build directory if it does not exist
|
|
#**************************************************************************
|
|
BUILDDIR = ../builds/$(systype)-$(cputype)
|
|
$(shell mkdir -p $(BUILDDIR))
|
|
|
|
OBJS = $(patsubst %.c, $(BUILDDIR)/%$(OBJEXT), $(wildcard *.c))
|
|
HEADERS = $(wildcard *.h) Makefile
|
|
|
|
|
|
$(BUILDDIR)/libGKlib$(LIBEXT): $(OBJS)
|
|
$(AR) $(OBJS)
|
|
$(RANLIB)
|
|
|
|
doc:
|
|
doxygen ../doxygen/Doxyfile
|
|
|
|
pubdoc:
|
|
doxygen ../doxygen/Doxyfile
|
|
scp -r ../doxygen/html/* dminers.dtc.umn.edu:/var/www/wwwroot/dminers/files/doxy/GKlib
|
|
ssh dminers.dtc.umn.edu "chmod -R a+rX /var/www/wwwroot/dminers/files/doxy/GKlib"
|
|
|
|
clean:
|
|
rm -f $(OBJS)
|
|
|
|
realclean:
|
|
rm -f $(OBJS) ; rm -f $(BUILDDIR)/libGKlib$(LIBEXT)
|
|
|
|
|
|
$(OBJS) : $(HEADERS) Makefile
|
|
|
|
|
|
$(BUILDDIR)/%$(OBJEXT) : %.c
|
|
$(CC) $(CFLAGS) $(SOURCEFILE) $(OUTPUTFILE)
|
|
|
|
|