about summary refs log tree commit diff
path: root/Makefile
blob: b76ba97f800f82b066211ce72ea5fbd0ae191cd2 (plain) (blame)
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
USER = chat
CFLAGS += -Wall -Wextra -Wpedantic
CFLAGS += -I/usr/local/include
LDFLAGS += -L/usr/local/lib
LDLIBS = -lcursesw -ltls
OBJS = chat.o client.o handle.o input.o ui.o

all: tags chat

chat: $(OBJS)
	$(CC) $(LDFLAGS) $(OBJS) $(LDLIBS) -o $@

$(OBJS): chat.h

tags: *.h *.c
	ctags -w *.h *.c

chroot.tar: chat
	mkdir -p root
	install -d -o root -g wheel \
		root/bin \
		root/etc \
		root/home \
		root/lib \
		root/libexec \
		root/usr \
		root/usr/local \
		root/usr/local/etc \
		root/usr/local/etc/ssl \
		root/usr/share \
		root/usr/share/misc
	install -d -o $(USER) -g $(USER) root/home/$(USER)
	install -o root -g wheel -m 555 /libexec/ld-elf.so.1 root/libexec
	install -o root -g wheel -m 444 \
		/lib/libc.so.7 \
		/lib/libncursesw.so.8 \
		/lib/libthr.so.3 \
		/usr/local/lib/libcrypto.so.43 \
		/usr/local/lib/libssl.so.45 \
		/usr/local/lib/libtls.so.17 \
		root/lib
	install -o root -g wheel -m 444 /etc/hosts /etc/resolv.conf root/etc
	install -o root -g wheel -m 444 /usr/local/etc/ssl/cert.pem root/usr/local/etc/ssl
	install -o root -g wheel -m 444 /usr/share/misc/termcap.db root/usr/share/misc
	install -o root -g wheel -m 555 /bin/sh root/bin
	install -o root -g wheel -m 555 chat root/bin
	tar -c -f chroot.tar -C root bin etc home lib libexec usr

clean:
	rm -f tags chat $(OBJS) chroot.tar
'nohover-highlight'> These don't really go together, but... 2021-01-19Match tab following escaped newline in make assignmentsJune McEnroe Otherwise it ends up going into Shell state. 2021-01-18Allow matching lexers using first input lineJune McEnroe