Patrick Lühne
62ec122116
Reading the memory statistics requires a call to fopen, which uses the async-signal-unsafe function malloc. For this reason, interrupting Madagascar could lead to a crash when coinciding with allocations. Removing the memory statistics doesn’t do much harm, as this can still be read from an outside program such as the benchmark runner.
75 lines
2.5 KiB
Makefile
75 lines
2.5 KiB
Makefile
# 2012 (C) Jussi Rintanen, jrintanen.jr@gmail.com
|
|
|
|
# Uncomment for Madagascar with the planning heuristic as default (Mp)
|
|
VERSION = -DMPDOWNLOAD
|
|
EXECUTABLE=Mp
|
|
# Uncomment for Madagascar C with the planning heuristic as default (MpC)
|
|
#VERSION = -DCMPDOWNLOAD
|
|
#EXECUTABLE=MpC
|
|
# Uncomment for Madagascar with VSIDS as default (M)
|
|
#VERSION = -DVSIDS
|
|
#EXECUTABLE=M
|
|
#ARCH=-m32
|
|
|
|
INSTRUMENT = -g -ggdb -pg
|
|
|
|
CONFIGURATION= -DLBD -DREPRTHREE -DWEIGHTS #-DFUIP #-DMULTICORE #-DSPREAD -DCOSTS -DCFMA -DCP3
|
|
|
|
#FEATURES= -fopenmp
|
|
#LINKFEATURES= -fopenmp
|
|
|
|
# The following options are specific to GCC. Disable when necessary (e.g. in OS X).
|
|
GCCOPTIMIZE= $(ARCH) -O3 -fprefetch-loop-arrays -funroll-loops -ftree-loop-im -ftracer -maccumulate-outgoing-args -momit-leaf-frame-pointer #-falign-functions=64
|
|
|
|
CFLAGS = $(VERSION) $(FEATURES) $(CONFIGURATION) $(INSTRUMENT) $(GCCOPTIMIZE) -w #-Wall
|
|
|
|
PARSERGENERATOR=bison
|
|
PARSERC = parser.tab.c
|
|
PARSERH = parser.tab.h
|
|
PARSER=parser
|
|
#PARSERGENERATOR=yacc
|
|
#PARSERC = y.tab.c
|
|
#PARSERH = y.tab.h
|
|
#PARSER=y
|
|
|
|
CC = gcc
|
|
|
|
#LINKFLAGS = -L . -lcp3 -lpthread -lz -lrt #-static
|
|
#LINKFLAGS = -s
|
|
LINKFLAGS = $(ARCH) -static
|
|
|
|
OBJ = $(PARSER).tab.o main.o asyntax.o lex.yy.o tables.o operators.o invariants.o intsets.o cleanup.o translate2sat.o scc.o clausesets.o printplan.o clausedb.o dimacsinput.o ground.o
|
|
HDR = main.h asyntax.h tables.h operators.h invariants.h intsets.h cleanup.h scc.h intsets.h translate2sat.h ordintsets.h clausedb.h interface.h printplan.h dimacsinput.h
|
|
|
|
all: nplan
|
|
|
|
nplan: date lex.yy.c Makefile $(PARSERC) $(OBJ) $(HDR)
|
|
$(CC) $(LINKFLAGS) $(LINKFEATURES) $(INSTRUMENT) $(OBJ) -lm -o $(EXECUTABLE)
|
|
|
|
clausesets.o: heuristics2.c varvals.c learn2.c
|
|
|
|
ground.o: Cground.c
|
|
|
|
%.o: %.c Makefile $(HDR)
|
|
$(CC) $(CFLAGS) $(AMD64FLAGS) -c $<
|
|
|
|
date:
|
|
./makedate
|
|
|
|
main.o: zPRINTDATE
|
|
|
|
$(PARSERC): parser.y
|
|
$(PARSERGENERATOR) -d parser.y
|
|
|
|
$(PARSERH): parser.y
|
|
$(PARSERGENERATOR) -d parser.y
|
|
|
|
lex.yy.c: lexer.lex $(PARSERH) $(PARSERH)
|
|
flex lexer.lex
|
|
|
|
clean:
|
|
rm -f $(OBJ) $(PARSERC) $(PARSERH)
|
|
|
|
tar:
|
|
tar cvf MADAGASCAR.TAR README plan build asyntax.c asyntax.h clausedb.c clausedb.h clausesets.c clausesets.h cleanup.c cleanup.h dimacs.h dimacsinput.c dimacsinput.h ground.c Cground.c heuristics2.c interface.h intsets.c intsets.h invariants.c invariants.h lexer.lex main.c main.h makedate Makefile operators.c operators.h ordintsets.c ordintsets.h parser.y printplan.c printplan.h scc.c scc.h tables.c tables.h translate2sat.c translate2sat.h varvals.c learn2.c shortcuts.c zPOSTF zPREF
|