summaryrefslogtreecommitdiff
path: root/Makefile.am
blob: eeafd46b29fd52d77595450cb05b6256c5efe9c5 (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
66
67
## Process this file with automake to produce Makefile.in

if AMC_ADDON
ADDON = @ADDON@
endif

if AMC_HISTORY
man_MANS = rc.1 history.1
HISTORY = history
else
man_MANS = rc.1
endif

if AMC_NO_HASHBANG
EXECVE = execve.o
endif

if AMC_READLINE
READLINE = readline.o
endif

if AMC_RESTART
SYSTEM = system-bsd.o
else
SYSTEM = system.o
endif

bin_PROGRAMS = rc
noinst_PROGRAMS = mksignal $(HISTORY)

rc_SOURCES = builtins.c except.c exec.c fn.c footobar.c getopt.c glob.c glom.c hash.c heredoc.c input.c lex.c list.c main.c match.c nalloc.c open.c print.c redir.c signal.c status.c tree.c utils.c var.c wait.c walk.c which.c y.tab.c

EXTRA_rc_SOURCES = addon.c execve.c readline.c system.c system-bsd.c

rc_DEPENDENCIES = sigmsgs.o $(ADDON) $(EXECVE) $(READLINE) $(SYSTEM)
rc_LDADD = sigmsgs.o $(ADDON) $(EXECVE) $(READLINE) $(SYSTEM)

mksignal_SOURCES = mksignal.c

noinst_HEADERS = group.h jbwrap.h proto.h rc.h rlimit.h y.tab.h

BUILT_SOURCES = sigmsgs.c

EXTRA_DIST = addon.c addon.h EXAMPLES history.1 parse.y rc.1 trip.rc

sigmsgs.c sigmsgs.h: mksignal
	./mksignal

# Of course, y.tab.c and y.tab.h depend on parse.y.  However, unless
# you're hacking on rc's grammar, it's not useful to have this
# dependency expressed, since the distributed y.tab.[ch] (generated with
# byacc, and *very* lightly edited to remove a couple of gcc warnings)
# are portable (I hope).
#y.tab.c y.tab.h: $(srcdir)/parse.y
#	$(YACC) -d $(srcdir)/parse.y

trip: rc
	./rc -p < $(srcdir)/trip.rc

install-exec-hook:
if AMC_HISTORY
	$(LN) history - ;\
	$(INSTALL_PROGRAM) - $(bindir) ;\
	rm -f $(bindir)/--;  $(LN) $(bindir)/- $(bindir)/-- ;\
	rm -f $(bindir)/-p;  $(LN) $(bindir)/- $(bindir)/-p ;\
	rm -f $(bindir)/--p; $(LN) $(bindir)/- $(bindir)/--p
endif