about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--Darwin.mk1
-rw-r--r--Makefile56
3 files changed, 32 insertions, 26 deletions
diff --git a/.gitignore b/.gitignore
index b701a89..af70b85 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,5 +2,6 @@
 *.t
 catgirl
 chroot.tar
+config.mk
 root
 tags
diff --git a/Darwin.mk b/Darwin.mk
new file mode 100644
index 0000000..fd73e53
--- /dev/null
+++ b/Darwin.mk
@@ -0,0 +1 @@
+LDLIBS = -lcurses -ltls
diff --git a/Makefile b/Makefile
index 3efcbd8..14a4a37 100644
--- a/Makefile
+++ b/Makefile
@@ -1,14 +1,16 @@
 PREFIX = ~/.local
-MANPATH = $(PREFIX)/share/man
-LIBRESSL_PREFIX = /usr/local /usr/local/opt/libressl
+MANDIR = $(PREFIX)/share/man/man
 CHROOT_USER = chat
 CHROOT_GROUP = $(CHROOT_USER)
+LIBRESSL_PREFIX = /usr/local
 
-CFLAGS += -Wall -Wextra -Wpedantic
-CFLAGS += $(LIBRESSL_PREFIX:%=-I%/include)
-LDFLAGS += $(LIBRESSL_PREFIX:%=-L%/lib)
+CFLAGS += -std=c11 -Wall -Wextra -Wpedantic
+CFLAGS += -I$(LIBRESSL_PREFIX)/include
+LDFLAGS += -L$(LIBRESSL_PREFIX)/lib
 LDLIBS = -lcursesw -ltls
 
+-include config.mk
+
 OBJS += chat.o
 OBJS += edit.o
 OBJS += event.o
@@ -29,30 +31,30 @@ TESTS += term.t
 
 all: tags catgirl test
 
-tags: *.h *.c
-	ctags -w *.h *.c
+$(OBJS): chat.h
 
 catgirl: $(OBJS)
 	$(CC) $(LDFLAGS) $(OBJS) $(LDLIBS) -o $@
 
-$(OBJS): chat.h
-
-test: $(TESTS)
-	set -e; $(TESTS:%=./%;)
-
 .SUFFIXES: .t
 
 .c.t:
 	$(CC) $(CFLAGS) -DTEST $(LDFLAGS) $< $(LDLIBS) -o $@
 
+test: $(TESTS)
+	set -e; $(TESTS:%=./%;)
+
+tags: *.h *.c
+	ctags -w *.h *.c
+
 install: catgirl catgirl.1
-	install -d $(PREFIX)/bin $(MANPATH)/man1
+	install -d $(PREFIX)/bin $(MANDIR)1
 	install catgirl $(PREFIX)/bin/catgirl
-	install -m 644 catgirl.1 $(MANPATH)/man1/catgirl.1
+	install -m 644 catgirl.1 $(MANDIR)1/catgirl.1
 
 uninstall:
 	rm -f $(PREFIX)/bin/catgirl
-	rm -f $(MANPATH)/man1/catgirl.1
+	rm -f $(MANDIR)1/catgirl.1
 
 chroot.tar: catgirl catgirl.1 man.sh
 	install -d -o root -g wheel \
@@ -67,10 +69,9 @@ chroot.tar: catgirl catgirl.1 man.sh
 		root/usr/share/man \
 		root/usr/share/misc
 	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 \
+	cp -fp /libexec/ld-elf.so.1 root/libexec
+	cp -fp \
 		/lib/libc.so.7 \
-	    /lib/libedit.so.7 \
 		/lib/libncursesw.so.8 \
 		/lib/libthr.so.3 \
 		/lib/libz.so.6 \
@@ -78,17 +79,20 @@ chroot.tar: catgirl catgirl.1 man.sh
 		/usr/local/lib/libssl.so.45 \
 		/usr/local/lib/libtls.so.17 \
 		root/lib
-	cp -p -f /etc/hosts /etc/resolv.conf root/etc
-	cp -p -f /usr/local/etc/ssl/cert.pem root/usr/local/etc/ssl
-	cp -a -f /usr/share/locale root/usr/share
-	cp -p -f /usr/share/misc/termcap.db root/usr/share/misc
-	cp -p -f /bin/sh /usr/bin/mandoc /usr/bin/less root/bin
+	cp -fp /etc/hosts /etc/resolv.conf root/etc
+	cp -fp /usr/local/etc/ssl/cert.pem root/usr/local/etc/ssl
+	cp -af /usr/share/locale root/usr/share
+	cp -fp /usr/share/misc/termcap.db root/usr/share/misc
+	cp -fp /rescue/sh /usr/bin/mandoc /usr/bin/less root/bin
 	$(MAKE) install PREFIX=root/usr
 	install man.sh root/usr/bin/man
-	tar -c -f chroot.tar -C root bin etc home lib libexec usr
+	tar -cf chroot.tar -C root bin etc home lib libexec usr
+
+install-chroot: chroot.tar
+	tar -xf chroot.tar -C /home/$(CHROOT_USER)
 
 clean:
-	rm -rf tags catgirl $(OBJS) $(TESTS) root chroot.tar
+	rm -fr $(OBJS) catgirl $(TESTS) tags root chroot.tar
 
 README: catgirl.7
-	mandoc catgirl.7 | col -b -x > README
+	mandoc catgirl.7 | col -bx > README
href='/pounce/commit/pounce.1?h=2.2&id=d2bdbaa82d9d9326129a0fb84353a7ed0087b24f&follow=1'>Add chmod+chown to certbot exampleJune McEnroe 2020-08-30Rearrange bounce.c, move non-main mains below mainJune McEnroe 2020-08-30Sandbox pounce with unveil(2)June McEnroe 2020-08-28Refactor certificate loading and load all certs from config pathsJune McEnroe 2020-08-27Sandbox pounce with pledge(2)June McEnroe unveil(2) is a bit complicated to apply to this, I'll have to think about it more. 2020-08-27Sandbox calico with pledge(2) and unveil(2)June McEnroe 2020-08-27Add support for OpenBSDJune McEnroe 2020-08-27Remove rc scriptsJune McEnroe 2020-08-27contrib/palaver: Fix documented database pathJune McEnroe 2020-08-27contrib/palaver: Remove rc scriptJune McEnroe 2020-08-27contrib/palaver: Fix database search and creationJune McEnroe 2020-08-27contrib/palaver: Use pounce's XDG directoryJune McEnroe 2020-08-27contrib/palaver: Only allow HTTPSJune McEnroe 2020-08-25Support the pounce_env rc variableJune McEnroe 2020-08-25Remove deprecated option namesJune McEnroe The next release will be 2.0 so these can be removed now. 2020-08-25Document configuration and data file searchJune McEnroe 2020-08-24Use dataOpen for save fileJune McEnroe 2020-08-24Use configOpen to load localCAJune McEnroe 2020-08-24Use configPath to load client cert/privJune McEnroe 2020-08-24Use configOpen in getopt_configJune McEnroe 2020-08-24Import xdg.c from catgirlJune McEnroe 2020-08-23Replace “RAND_bytes” by “getentropy”Issam E. Maghni This removes the dependency on libcrypto. Signed-off-by: Issam E. Maghni <issam.e.maghni@mailbox.org> 2020-08-16contrib/palaver: Add no message preview flagsJune McEnroe 2020-08-13contrib/palaver: Don't set channel for PMsJune McEnroe 2020-08-13Fix unintended interception of NICK after registrationJune McEnroe Another bug caused by trying to support broken clients. I'm annoyed. 2020-08-12Add Additional Components section to READMEJune McEnroe 2020-08-12Document -L / palaver optionJune McEnroe 2020-08-11contrib/palaver: Document service configurationJune McEnroe 2020-08-11contrib/palaver: Add install target and rc scriptJune McEnroe 2020-08-11contrib/palaver: Implement command and notificationsJune McEnroe