Add command for Latex

This commit is contained in:
Cory Balaton 2023-12-03 16:44:34 +01:00
parent dc5eb1261a
commit e36ceaf5bd
No known key found for this signature in database
GPG Key ID: 3E5FCEBFD80F432B

View File

@ -2,14 +2,13 @@
CC=mpic++ CC=mpic++
# Flags # Flags
CFLAGS=-Wall -larmadillo -std=c++11 -O3 -fomit-frame-pointer -fopenmp CFLAGS=-Wall -larmadillo -std=c++11 -O3 -fopenmp
PROFFLAGS=-pg -fno-inline-functions PROFFLAGS=-pg -fno-inline-functions
DBGFLAGS=-DDBG -g DBGFLAGS=-DDBG -g
MKDIR=mkdir -p MKDIR=mkdir -p
RMDIR=rm -rf RMDIR=rm -rf
INSTRUMENTATION=scorep INSTRUMENT=scorep
# Directories for binaries # Directories for binaries
BINDIR=./bin BINDIR=./bin
@ -22,6 +21,9 @@ BINOBJDIR=$(BUILDDIR)/objs
PROFOBJDIR=$(BUILDDIR)/prof PROFOBJDIR=$(BUILDDIR)/prof
DEBUGOBJDIR=$(BUILDDIR)/debug DEBUGOBJDIR=$(BUILDDIR)/debug
# Directory for latex source
LATEXDIR=./latex
# Source directories # Source directories
SRC=./src SRC=./src
INCLUDE=./include INCLUDE=./include
@ -40,7 +42,7 @@ PROFBINS=$(PROFDIR)/phase_transition_mpi
DEBUGBINS=$(addprefix $(DEBUGDIR)/, $(EXEC)) DEBUGBINS=$(addprefix $(DEBUGDIR)/, $(EXEC))
# List phony targets # List phony targets
.PHONY: all clean binclean objclean latex .PHONY: all profile debug latex clean binclean objclean latexclean
# "Commands" # "Commands"
all: $(BINS) all: $(BINS)
@ -49,6 +51,10 @@ profile: $(PROFBINS)
debug: $(DEBUGBINS) debug: $(DEBUGBINS)
# build latex file
latex:
$(MAKE) -C $(LATEXDIR)
# Rule for binaries # Rule for binaries
$(BINDIR)/%: $(BINOBJDIR)/%.o $(BINOBJS) $(BINDIR)/%: $(BINOBJDIR)/%.o $(BINOBJS)
$(MKDIR) $(BINDIR) $(MKDIR) $(BINDIR)
@ -57,7 +63,7 @@ $(BINDIR)/%: $(BINOBJDIR)/%.o $(BINOBJS)
# Rule for profiling binaries # Rule for profiling binaries
$(PROFDIR)/%: $(PROFOBJDIR)/%.o $(PROFOBJS) $(PROFDIR)/%: $(PROFOBJDIR)/%.o $(PROFOBJS)
$(MKDIR) $(PROFDIR) $(MKDIR) $(PROFDIR)
$(INSTRUMENTATION) $(CC) $^ -o $@ $(CFLAGS) $(PROFFLAGS) -I$(INCLUDE) $(INSTRUMENT) $(CC) $^ -o $@ $(CFLAGS) $(PROFFLAGS) -I$(INCLUDE)
# Rule for debug binaries # Rule for debug binaries
$(DEBUGDIR)/%: $(DEBUGOBJDIR)/%.o $(DEBUGOBJS) $(DEBUGDIR)/%: $(DEBUGOBJDIR)/%.o $(DEBUGOBJS)
@ -72,18 +78,18 @@ $(BINOBJDIR)/%.o: $(SRC)/%.cpp
# Rule for instrumented object files # Rule for instrumented object files
$(PROFOBJDIR)/%.o: $(SRC)/%.cpp $(PROFOBJDIR)/%.o: $(SRC)/%.cpp
$(MKDIR) $(PROFOBJDIR) $(MKDIR) $(PROFOBJDIR)
$INSTRUMENTATION $(CC) -c $^ -o $@ $(CFLAGS) $(PROFFLAGS) -I$(INCLUDE) $(INSTRUMENT) $(CC) -c $^ -o $@ $(CFLAGS) $(PROFFLAGS) -I$(INCLUDE)
# Rule for debug object files # Rule for debug object files
$(DEBUGOBJDIR)/%.o: $(SRC)/%.cpp $(DEBUGOBJDIR)/%.o: $(SRC)/%.cpp
$(MKDIR) $(DEBUGOBJDIR) $(MKDIR) $(DEBUGOBJDIR)
$(CC) -c $^ -o $@ $(CFLAGS) $(DBGFLAG) $(DEBUGFLAGS) -I$(INCLUDE) $(CC) -c $^ -o $@ $(CFLAGS) $(DBGFLAG) $(DEBUGFLAGS) -I$(INCLUDE)
latex:
pdflatex --output-directory=./latexout ./latex/ising_model
# Cleaning # Cleaning
clean: objclean binclean clean: objclean binclean latexclean
latexclean:
$(MAKE) -C $(LATEXDIR) clean
objclean: objclean:
$(RMDIR) $(BUILDDIR) $(RMDIR) $(BUILDDIR)