-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMakefile
90 lines (87 loc) · 3.11 KB
/
Makefile
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
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#
# @(#)makefile 1.12 7/26/96
#
#SHELL = /usr/bin/sh
INSTALL_DIR = .
LDLIBS = -lXaw -lXmu -lXt -lXext -lX11 -lm
# If you need to link with the "dl" library use the
# line below for LDLIBS
#LDLIBS = -lXaw -lXmu -lXt -lXext -lX11 -lm -ldl
LDFLAGS = -L/opt/X11/lib -L$(WINHOME)/lib
CFLAGS = -g -Wall -Wunused-variable -Wno-pointer-to-int-cast \
-Wno-int-conversion -Wno-incompatible-pointer-types -I /opt/X11/include #-I$(WINHOME)/include
CC = gcc
I_PROGS = unravel select analyzer helpu
S_PROGS = slice_driver auto-slice pss-driver call-tree
PROGS = $(I_PROGS) $(S_PROGS) parser summary tsummary map u slink\
visit-filter visit-ctrl visit-post vsort vprep
# pcmount pcunmount visit-filter visit-ctrl visit-post a5parser vsort
I_OBJS = u.o unravel.o select.o analyzer.o unravel.o helpu.o
S_OBJS = slice_driver.o auto-slice.o pss-driver.o call-tree.o
#A5_OBJS = a5scan.o parser.o err.o a5gram.o const.o\
# mem_alloc.o sym_tab.o xpr.o stmt.o chain.o control.o
PARSE_OBJS = kscan.o parser.o err.o kgram.o const.o\
mem_alloc.o sym_tab.o xpr.o stmt.o chain.o control.o
SLICE_OBJS = sets.o slice.o slice-load.o pss.o
all : $(PROGS)
path.out :
pwd > path.out
config.h : path.out
# echo -n "# define HOME \"" >config.h
cat path.out |sed 's/^/# define HOME \"/' | sed -e 's/$$/\"/' >config.h
echo "#define CC \"gcc\"" >>config.h
echo "/* fix.h is needed by all files that also include config.h */">>config.h
echo "#include \"fix.h\"" >>config.h
echo "/* caddr_t is not available, so replace with void * for now.*/" >>config.h
echo "#define caddr_t void *" >>config.h
# find_cc >>config.h
vprep : config.h visit-prep
sed s=HOME=`grep HOME config.h | sed 's/^.*E "/"/' | tr -d \"`= <visit-prep >vprep
chmod +x vprep
multislice.o u.o: multislicep.h multislice.h
$(I_OBJS): config.h fix.h
$(S_OBJS) $(SLICE_OBJS): sets.h slice.h
$(PARSE_OBJS) slink.o pss.o slice-load.o: lif.h ansi_parse.h
#pcunmount : pcmount
# ln pcmount pcunmount
#a5parser : $(A5_OBJS)
# $(CC) $(CFLAGS) $(A5_OBJS) -o a5parser
parser : $(PARSE_OBJS)
$(CC) $(CFLAGS) $(PARSE_OBJS) -o parser
$(S_PROGS) : $(SLICE_OBJS)
$(CC) $(CFLAGS) [email protected] $(SLICE_OBJS) -o $@
$(I_PROGS) :
$(CC) $(CFLAGS) [email protected] $(LDFLAGS) $(LDLIBS) -o $@
u : u.o $(SLICE_OBJS) multislice.o history.o
$(CC) $(CFLAGS) u.o multislice.o history.o $(SLICE_OBJS) $(LDFLAGS) $(LDLIBS) -o $@
unravel : unravel.o
select : select.o
analyzer : analyzer.o
helpu : helpu.o
slice_driver : slice_driver.o
auto-slice : auto-slice.o
pss-driver : pss-driver.o
call-tree : call-tree.o
install :
install -d $(INSTALL_DIR)/bin
install -d $(INSTALL_DIR)/man/man1
install unravel $(INSTALL_DIR)/bin/unravel
install unravel.1 $(INSTALL_DIR)/man/man1/unravel.1
HOW_TO_INSTALL : how.nr
nroff -me how.nr | col >HOW_TO_INSTALL
HOW_TO.ps : how.nr
ptroff -me -t <how.nr >HOW_TO.ps
clean :
/bin/rm -f *.[VYKHUTSo] *.out *.LIF core *.LINK SYSTEM HISTORY*
/bin/rm -f $(PROGS)
/bin/rm -f examples/*[A-Z]
tar-disk : clean
date > LAST_TAR_DATE
(SRC_DIR=`pwd | sed -e "s=^.*/==` ;cd .. ;\
tar cvf /dev/rfd0 $$SRC_DIR )
eject
make all
tar-file : clean
date > LAST_TAR_DATE
(SRC_DIR=`pwd | sed -e "s=^.*/==` ;cd .. ;\
tar cvf unravel_2.2+.tar $$SRC_DIR )