87 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
#
 | 
						|
#	Scyther Makefile
 | 
						|
#
 | 
						|
 | 
						|
#
 | 
						|
#	DEBUG or optimization settings: uncomment a single line:
 | 
						|
#
 | 
						|
CFLAGS = -g3 -D DEBUG		# default usage, for e.g. with valgrind
 | 
						|
#CFLAGS = -g3 -D DEBUG -pg	# for code profiling with gprof
 | 
						|
#CFLAGS = -O3 -static -finline-functions -fomit-frame-pointer
 | 
						|
 | 
						|
#
 | 
						|
#	Compiler and linkage
 | 
						|
#
 | 
						|
CC = gcc
 | 
						|
# Note that these paths must include the path to the argtable library.
 | 
						|
CPPFLAGS = -I/scratch/ccremers/include -I/usr/local/include -Wall
 | 
						|
LDFLAGS = -L/scratch/ccremers/lib -L/usr/local/lib
 | 
						|
LOADLIBS = -lfl
 | 
						|
LDLIBS = -largtable2
 | 
						|
OPTIONS = ${CPPFLAGS} ${CFLAGS} ${LDFLAGS}
 | 
						|
 | 
						|
#
 | 
						|
#	Module set for the modelchecker
 | 
						|
#
 | 
						|
MODULES=memory.o terms.o termlists.o symbols.o knowledge.o runs.o modelchecker.o \
 | 
						|
report.o debug.o  mgu.o substitutions.o \
 | 
						|
match_basic.o \
 | 
						|
match_clp.o constraints.o \
 | 
						|
output.o latex.o \
 | 
						|
varbuf.o tracebuf.o attackminimize.o \
 | 
						|
tac.o parser.o compiler.o 
 | 
						|
 | 
						|
#
 | 
						|
#	Dependencies
 | 
						|
#
 | 
						|
MODELCHECKER = ${MODULES} main.o
 | 
						|
 | 
						|
all:		scyther tags
 | 
						|
 | 
						|
${Target}.o:	${Target}.c
 | 
						|
		$(CC) $(OPTIONS) ${Target}.c -c
 | 
						|
 | 
						|
scanner.c:	scanner.lex
 | 
						|
		flex scanner.lex
 | 
						|
		cp lex.yy.c scanner.c
 | 
						|
 | 
						|
tok.h:		parser.c
 | 
						|
 | 
						|
parser.c:	parser.y
 | 
						|
		bison -d -v parser.y
 | 
						|
		cp parser.tab.c parser.c
 | 
						|
		cmp -s parser.tab.h tok.h || cp parser.tab.h tok.h
 | 
						|
 | 
						|
tags:		*.c *.h
 | 
						|
		ctags *.c *.h
 | 
						|
 | 
						|
modules:	$(MODULES)
 | 
						|
 | 
						|
scyther:	scanner.o $(MODELCHECKER)
 | 
						|
		$(CC) $(OPTIONS) $(MODELCHECKER) -o scyther $(LOADLIBS) $(LDLIBS)
 | 
						|
 | 
						|
ptestmain.o scanner.o	: tok.h
 | 
						|
 | 
						|
#
 | 
						|
#	Cleanup
 | 
						|
#
 | 
						|
clean:
 | 
						|
		rm -f *.o
 | 
						|
		rm -f scyther
 | 
						|
		rm -f scanner.c
 | 
						|
		rm -f parser.c
 | 
						|
		rm -f tok.h
 | 
						|
#
 | 
						|
#	Clean and rebuild: 'make new'
 | 
						|
#
 | 
						|
new:
 | 
						|
		make clean
 | 
						|
		make all
 | 
						|
 | 
						|
#
 | 
						|
#	Make doxygen reference manuals. (in ../refman)
 | 
						|
#
 | 
						|
refman:		doxyconfig
 | 
						|
		doxygen doxyconfig
 | 
						|
 |