about summary refs log tree commit diff homepage
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile60
1 files changed, 31 insertions, 29 deletions
diff --git a/Makefile b/Makefile
index ec80687..91ab927 100644
--- a/Makefile
+++ b/Makefile
@@ -1,55 +1,57 @@
 CHROOT_USER = torus
 CHROOT_GROUP = $(CHROOT_USER)
 
-CFLAGS += -Wall -Wextra -Wpedantic
-LDFLAGS += -static
-LDLIBS = -lcursesw -lutil -lz
-BINS = server client image meta merge
+CFLAGS += -std=c11 -Wall -Wextra -Wpedantic
+LDFLAGS = -static
+LDLIBS = -lcursesw -lutil
+
+-include config.mk
+
+BINS = client image merge meta server
 OBJS = $(BINS:%=%.o)
 
 all: tags $(BINS)
 
-.o:
-	$(CC) $(LDFLAGS) $< $(LDLIBS) -o $@
-
 $(OBJS): torus.h
 
 client.o: help.h
 
-help.h:
-	head -c 4096 torus.dat \
-		| file2c -s -x 'static const uint8_t HelpData[] = {' '};' \
-		> help.h
-	echo 'static const struct Tile *Help = (const struct Tile *)HelpData;' \
-		>> help.h
+image.o: png.h
+
+.o:
+	$(CC) $(LDFLAGS) $< $(LDLIBS) -o $@
 
 tags: *.h *.c
 	ctags -w *.h *.c
 
-chroot.tar: server client
-	mkdir -p root
+chroot.tar: client server
 	install -d -o root -g wheel \
+		root \
 		root/bin \
 		root/home \
-		root/usr \
-		root/usr/share \
 		root/usr/share/misc \
-		root/var \
 		root/var/run
 	install -d -o $(CHROOT_USER) -g $(CHROOT_GROUP) root/home/$(CHROOT_USER)
 	install -d -o $(CHROOT_USER) -g $(CHROOT_GROUP) root/var/run/torus
-	cp -a -f /usr/share/locale root/usr/share
-	cp -p -f /usr/share/misc/termcap.db root/usr/share/misc
-	cp -p -f /rescue/sh root/bin
-	install -o root -g wheel -m 555 server client root/bin
-	tar -c -f chroot.tar -C root bin home usr var
+	cp -af /usr/share/locale root/usr/share
+	cp -fp /usr/share/misc/termcap.db root/usr/share/misc
+	cp -fp /rescue/sh root/bin
+	install client server root/bin
+	tar -cf chroot.tar -C root bin home usr var
+
+install: chroot.tar rc.torus
+	tar -xf chroot.tar -C /home/$(CHROOT_USER)
+	install rc.torus /usr/local/etc/rc.d/torus
 
 clean:
-	rm -f tags $(OBJS) $(BINS) chroot.tar
+	rm -f $(OBJS) $(BINS) tags root chroot.tar
 
-README: torus.1
-	mandoc torus.1 | col -b -x > README
+help.h:
+	head -c 4096 torus.dat \
+		| file2c -sx 'static const uint8_t HelpData[] = {' '};' \
+		> help.h
+	echo 'static const struct Tile *Help = (const struct Tile *)HelpData;' \
+		>> help.h
 
-install: chroot.tar rc.torus
-	tar -x -f chroot.tar -C /home/$(CHROOT_USER)
-	install rc.torus /usr/local/etc/rc.d/torus
+README: torus.1
+	mandoc torus.1 | col -bx > README