about summary refs log tree commit diff homepage
path: root/Makefile
diff options
context:
space:
mode:
authorJune McEnroe <programble@gmail.com>2017-10-03 12:32:05 -0400
committerJune McEnroe <programble@gmail.com>2017-10-03 12:32:05 -0400
commit482b094a794c56a2052be81fdb50d3da1e87d15d (patch)
tree7f40fb2c9397e249f9b438a83c41e41ad387642e /Makefile
parentRemove leading blank lines (diff)
downloadtorus-482b094a794c56a2052be81fdb50d3da1e87d15d.tar.gz
torus-482b094a794c56a2052be81fdb50d3da1e87d15d.zip
Simplify Makefile with pattern rule
Insert rant about how GNU make handles the .c rule with extra
dependencies.

Also I don't care that everything links curses now.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile24
1 files changed, 9 insertions, 15 deletions
diff --git a/Makefile b/Makefile
index 0be6b77..14d4506 100644
--- a/Makefile
+++ b/Makefile
@@ -1,21 +1,15 @@
 USER = torus
+BINS = server client help meta merge
+CFLAGS += -Wall -Wextra -Wpedantic
+LDLIBS = -lcurses
 
-all: server client help meta merge
+all: $(BINS)
 
-server: server.c torus.h
-	$(CC) -Wall -Wextra -Wpedantic $(CFLAGS) -o server server.c
+$(BINS): torus.h
 
-client: client.c torus.h
-	$(CC) -Wall -Wextra -Wpedantic $(CFLAGS) -lcurses -o client client.c
-
-help: help.c torus.h
-	$(CC) -Wall -Wextra -Wpedantic $(CFLAGS) -o help help.c
-
-meta: meta.c torus.h
-	$(CC) -Wall -Wextra -Wpedantic $(CFLAGS) -o meta meta.c
-
-merge: merge.c torus.h
-	$(CC) -Wall -Wextra -Wpedantic $(CFLAGS) -lcurses -o merge merge.c
+# Only necessary so GNU make doesn't try to use torus.h as a source.
+.c:
+	$(CC) $(CFLAGS) $(LDFLAGS) $< $(LDLIBS) -o $@
 
 termcap: termcap.diff
 	patch -p0 -o termcap < termcap.diff
@@ -47,6 +41,6 @@ chroot.tar: server client help termcap.db
 	tar -c -f chroot.tar -C root bin home lib libexec usr
 
 clean:
-	rm -f server client help meta merge termcap termcap.db chroot.tar
+	rm -f $(BINS) termcap termcap.db chroot.tar
 
 .PHONY: all clean
td colspan='3' class='logmsg'> 2020-02-12Handle RPL_AWAYJune McEnroe 2020-02-11Support monochromatic terminalsJune McEnroe Oops, division by zero! 2020-02-11Add .gz to chroot-man scriptJune McEnroe 2020-02-11Add -R restricted flagJune McEnroe 2020-02-11Add chroot targetJune McEnroe 2020-02-11Exit focus and paste modes on err exitJune McEnroe 2020-02-11Add startup GPLv3 note and URLJune McEnroe I am a degenerate. 2020-02-11Make sure -D_GNU_SOURCE ends up in CFLAGS on LinuxJune McEnroe 2020-02-11Add note about setting PKG_CONFIG_PATHJune McEnroe 2020-02-11Rename query ID on nick changeJune McEnroe 2020-02-11Call completeClear when closing a windowJune McEnroe 2020-02-11Don't insert color codes for non-mentionsJune McEnroe 2020-02-11Take first two words in colorMentionsJune McEnroe This lets phrases like "hi june" get colored, but still doesn't get carried away. 2020-02-11Use time_t for save signatureJune McEnroe It's actually more likely to be 64-bit than size_t anyway, and it eliminates some helper functions. Also don't error when reading an empty save file. 2020-02-11Set self.nick to * initiallyJune McEnroe Allows removing a bunch of checks that self.nick is set, and it's what the server usually calls you before registration. Never highlight notices as mentions. 2020-02-11Define ColorCap instead of hardcoding 100June McEnroe 2020-02-11Move hash to top of chat.hJune McEnroe 2020-02-11Move base64 out of chat.hJune McEnroe 2020-02-11Move XDG_SUBDIR out of chat.hJune McEnroe 2020-02-11Fix whois idle unit calculationJune McEnroe Rookie mistake. 2020-02-11Cast towupper to wchar_tJune McEnroe For some reason it takes and returns wint_t... 2020-02-11Cast set but unused variables to voidJune McEnroe 2020-02-11Declare strlcatJune McEnroe 2020-02-11Check if VDSUSP existsJune McEnroe 2020-02-11Fix completeReplace iterationJune McEnroe 2020-02-11Use pkg(8) to configure on FreeBSDJune McEnroe 2020-02-11Remove legacy codeJune McEnroe 2020-02-11Add INSTALLING section to READMEJune McEnroe