aboutsummaryrefslogtreecommitdiff
path: root/sys/cmd/rc/Makefile
blob: d4b9864ec0e975fd7040820953644c721d87a496 (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
YACC=yacc -d
PREFIX=/usr/local
WARNINGS=-Wall -Wextra -Wno-parentheses -Wno-missing-braces -Wno-missing-field-initializers -Wno-comment -Wno-sign-compare -Wno-unused-parameter -Wno-implicit-fallthrough #-Werror
CFLAGS=-g $(WARNINGS) -DPREFIX=\"$(PREFIX)\" -D_XOPEN_SOURCE=500
LFLAGS=/home/nolln/root/lib/libreadline.a /home/nolln/root/lib/libhistory.a /home/nolln/root/lib/libncursesw.a

TARG=rc

OFILES=\
	code.o\
	exec.o\
	getflags.o\
	glob.o\
	here.o\
	io.o\
	lex.o\
	pcmd.o\
	pfnc.o\
	simple.o\
	subr.o\
	trap.o\
	tree.o\
	var.o\
	y.tab.o\
	unix.o\
	havefork.o\
	prompt.o\

HFILES=\
	rc.h\
	x.tab.h\
	io.h\
	exec.h\
	fns.h\

YFILES=syn.y

all: $(TARG)

$(TARG): $(OFILES)
	$(CC) $(ARCHS) -o $(TARG) $(OFILES) $(LFLAGS)

%.o: %.c $(HFILES)
	$(CC) $(ARCHS) $(CFLAGS) -c $*.c

y.tab.h y.tab.c: $(YFILES)
	$(YACC) $(YFLAGS) $(YFILES)

x.tab.h: y.tab.h
	cmp -s x.tab.h y.tab.h || cp y.tab.h x.tab.h

%: %.c $(HFILES)
	$(CC) $(ARCHS) -o $@ $< $(LFLAGS)

clean:
	rm -f $(TARG) *.o $(CLEANFILES)