70 lines
2 KiB
Text
70 lines
2 KiB
Text
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
|