Build with BSD make. Don't hardcode CC or YACC. A proper install routine. Index: makefile --- makefile.orig +++ makefile @@ -4,29 +4,18 @@ # 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 # 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 +CC?=gcc +CFLAGS?=-O2 -DNXT - # debugging: make CFLAGS=-pg -g -DNXT - # for a more picky compilation use gcc-4 and add: PICKY=-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 +YFLAGS=-v -d +INSTALL?=install -c -YACC=yacc # on Solaris: /usr/ccs/bin/yacc -YFLAGS=-v -d # creates y.output and y.tab.h -DESTDIR?=/usr/local/bin -INSTALL?=cp - 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 \ @@ -39,13 +28,16 @@ spin: $(SPIN_OS) $(TL_OS) spin.o $(CC) $(CFLAGS) -o spin spin.o $(SPIN_OS) $(TL_OS) install: spin - $(INSTALL) spin $(DESTDIR) + install -d -m 755 $(PREFIX)/bin + $(INSTALL) -s -m 755 spin $(PREFIX)/bin + install -d -m 755 $(PREFIX)/man/man1 + $(INSTALL) -m 644 ../Man/spin.1 $(PREFIX)/man/man1 spin.o: spin.y $(YACC) $(YFLAGS) spin.y - $(CC) $(CFLAGS) -c y?tab.c - rm -f y?tab.c - mv y?tab.o spin.o + $(CC) $(CFLAGS) -c y.tab.c + rm -f y.tab.c + mv y.tab.o spin.o $(SPIN_OS): spin.h spin.o @@ -56,5 +48,5 @@ 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 spin *.o y.tab.[ch] y.output y.debug rm -f pan.[chmotb] a.out core *stackdump