File: makefile

package info (click to toggle)
spin 6.5.2%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye
  • size: 2,512 kB
  • sloc: ansic: 39,876; yacc: 1,021; makefile: 58; sh: 8
file content (63 lines) | stat: -rw-r--r-- 1,972 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# SPIN - Verification Software - Version 6.5 - July 2019
#
# This file is part of the public release of Spin. It is subject to the
# terms in the LICENSE file that is included in this source directory.
# Tool documentation is available at http://spinroot.com

CC?=gcc
CFLAGS?=-O2 -DNXT -Wall -pedantic
	# on some systems add: -I/usr/include
	# on a PC:    make CFLAGS=-O2 -DNXT -DPC
	# on Solaris: make CFLAGS=-O2 -DNXT -DSOLARIS
	# on a Mac:   make CFLAGS=-O2 -DNXT -DMAC
	# on HP-UX:   make CFLAGS=-O2 -DNXT -Aa
	# debugging:  make CFLAGS=-pg -g -DNXT

# for a more picky compilation use gcc-4 and add:
CFLAGS+=-std=c99 -Wstrict-prototypes -pedantic -fno-strength-reduce \
	-fno-builtin -W -Wshadow -Wpointer-arith \
	-Wcast-qual -Winline -Wall

# when running spin with a different compiler:
			# on OS2:         spin -Picc -E/Pd+ -E/Q+
			# for Visual C++: spin -PCL  -E/E

YACC?=yacc		# on Solaris: /usr/ccs/bin/yacc
YFLAGS?=-v -d 		# creates y.output and y.tab.h
DESTDIR?=/usr/local
INSTALL?=cp		# on linux: install -D

SPIN_OS= spinlex.o sym.o vars.o main.o msc_tcl.o \
	mesg.o flow.o sched.o run.o pangen1.o pangen2.o \
	pangen3.o pangen4.o pangen5.o guided.o dstep.o \
	structs.o pangen6.o pangen7.o reprosrc.o

TL_OS=	tl_parse.o tl_lex.o tl_main.o tl_trans.o tl_buchi.o \
	tl_mem.o tl_rewrt.o tl_cache.o

spin:	makefile $(SPIN_OS) $(TL_OS) spin.o
	$(CC) $(CFLAGS) -o spin spin.o $(SPIN_OS) $(TL_OS) $(LDFLAGS)

install: spin
	$(INSTALL) spin $(DESTDIR)/bin/spin
	$(INSTALL) ../Man/spin.1 $(DESTDIR)/share/man/man1/spin.1

spin.o:	makefile spin.y
	$(YACC) $(YFLAGS) spin.y
	$(CC) $(CFLAGS) $(CPPFLAGS) -c y?tab.c
	rm -f y?tab.c
	mv y?tab.o spin.o

$(SPIN_OS): makefile spin.h spin.o

$(TL_OS): makefile tl.h spin.o

main.o pangen2.o msc_tcl.o: version.h
pangen1.o: pangen1.h pangen3.h pangen6.h
pangen2.o: pangen2.h pangen4.h pangen5.h pangen7.h

clean:
	rm -f spin *.o y?tab.[ch] y.output y.debug
	rm -f pan.[chmotb] a.out core *stackdump

.PHONY: clean install