about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2018-08-21 13:09:58 -0400
committerJune McEnroe <june@causal.agency>2018-08-21 13:09:58 -0400
commit64ff36f4b12148a1f2db46f5856845f17a0b4433 (patch)
treec39a33c9153d1ba6e3ed7e97c0152518e542ab51
parentFix color pairs once and for all (diff)
downloadtorus-64ff36f4b12148a1f2db46f5856845f17a0b4433.tar.gz
torus-64ff36f4b12148a1f2db46f5856845f17a0b4433.zip
Clean up Makefile
Having .o files depend on .h files works correctly everywhere, it seems.
-rw-r--r--.gitignore1
-rw-r--r--Makefile29
2 files changed, 15 insertions, 15 deletions
diff --git a/.gitignore b/.gitignore
index 2f400d8..7f76e0f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+*.o
 chroot.tar
 client
 help
diff --git a/Makefile b/Makefile
index 8df5425..4091276 100644
--- a/Makefile
+++ b/Makefile
@@ -1,15 +1,17 @@
-USER = torus
-BINS = server client help meta merge
+CHROOT_USER = torus
+CHROOT_GROUP = $(CHROOT_USER)
+
 CFLAGS += -Wall -Wextra -Wpedantic
 LDLIBS = -lm -lcurses
+BINS = server client help meta merge
+OBJS = $(BINS:%=%.o)
 
 all: tags $(BINS)
 
-$(BINS): torus.h
+$(OBJS): torus.h
 
-# Only necessary so GNU make doesn't try to use torus.h as a source.
-.c:
-	$(CC) $(CFLAGS) $(LDFLAGS) $< $(LDLIBS) -o $@
+tags: *.h *.c
+	ctags -w *.h *.c
 
 chroot.tar: server client help
 	mkdir -p root
@@ -21,22 +23,19 @@ chroot.tar: server client help
 	    root/usr \
 	    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 \
+	install -d -o $(CHROOT_USER) -g $(CHROOT_GROUP) root/home/$(CHROOT_USER)
+	cp -p -f /libexec/ld-elf.so.1 root/libexec
+	cp -p -f \
 	    /lib/libc.so.7 \
 		/lib/libm.so.5 \
 	    /lib/libedit.so.7 \
 	    /lib/libncurses.so.8 \
 	    /lib/libncursesw.so.8 \
 	    root/lib
-	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
+	cp -p -f /usr/share/misc/termcap.db root/usr/share/misc
+	cp -p -f /bin/sh root/bin
 	install -o root -g wheel -m 555 server client help root/bin
 	tar -c -f chroot.tar -C root bin home lib libexec usr
 
-tags: *.h *.c
-	ctags -w *.h *.c
-
 clean:
-	rm -f tags $(BINS) chroot.tar
+	rm -f tags $(OBJS) $(BINS) chroot.tar