blob: 477ff761eab713e6e5180a0fa9a51656b1039b1a (
plain)
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
|
# Makefile for rc.
# Please check the configuration parameters in config.h (and if you want
# to make sure, the definitions in proto.h) to make sure they are correct
# for your system.
SHELL=/bin/sh
# Uncomment this line if you have defined the NOEXECVE macro in config.h
#EXECVE=execve.o
# Define this macro if you wish to extend rc via locally-defined builtins.
# An interface is provided in addon.[ch]. Note that the author does not
# endorse any such extensions, rather hopes that this way rc will become
# useful to more people.
#ADDON=addon.o
# Use an ANSI compiler (or at least one that groks prototypes and void *):
CC=gcc -g -O
CFLAGS=
LDFLAGS=
# You may substitute "bison -y" for yacc. (You want to choose the one that
# makes a smaller y.tab.c. Also see the README about Sun's yacc.)
YACC=yacc
OBJS=$(ADDON) builtins.o except.o exec.o $(EXECVE) fn.o footobar.o getopt.o \
glob.o glom.o hash.o heredoc.o input.o lex.o list.o main.o match.o \
nalloc.o open.o print.o redir.o sigmsgs.o signal.o status.o tree.o \
utils.o var.o version.o wait.o walk.o which.o y.tab.o
# If rc is compiled with READLINE defined, you must supply the correct
# arguments to ld on this line. Typically this would be something like:
#
# $(CC) -o $@ $(OBJS) -lreadline -ltermcap
rc: $(OBJS)
$(CC) -o $@ $(OBJS) $(LDFLAGS)
sigmsgs.c: mksignal
sh mksignal /usr/include/sys/signal.h
y.tab.c: parse.y
$(YACC) -d parse.y
config.h: config.h-dist
cp config.h-dist config.h
trip: rc
./rc -p < trip.rc
clean: force
rm -f *.o *.tab.* sigmsgs.*
history: force
cd history; make CC="$(CC)" $(HISTORYMAKEFLAGS)
force:
# dependencies:
$(OBJS): config.h
sigmsgs.h: sigmsgs.c
lex.o y.tab.o: y.tab.c
builtins.c fn.c status.c hash.c: sigmsgs.h
|