CC = gcc CFLAGS = -W -O2 RM = rm -rf SRCDIR = src USERBIN?=$(HOME)/.local/bin USERMAN?=$(HOME)/.local/share/man SYSBIN?=/usr/local/bin SYSMAN?=/usr/local/share/man ifneq ($(wildcard /usr/lib/x86_64-linux-gnu/.),) SYSLIB?=/usr/lib/x86_64-linux-gnu else SYSLIB?=/usr/lib endif default: all all: libgemini2html.so gemini2html libgemini2html.so: $(SRCDIR)/gemini2html.c $(CC) $(CFLAGS) -shared -fPIC $(SRCDIR)/gemini2html.c -o libgemini2html.so main.o: $(SRCDIR)/main.c $(CC) $(CFLAGS) -c $(SRCDIR)/main.c -o main.o gemini2html.o: $(SRCDIR)/gemini2html.c $(CC) $(CFLAGS) -c $(SRCDIR)/gemini2html.c -o gemini2html.o gemini2html: gemini2html.o main.o $(CC) $(CFLAGS) gemini2html.o main.o -o gemini2html install: gemini2html gemini2html.1 libgemini2html.so mkdir -m755 -p $(SYSMAN)/man1 install -m755 gemini2html $(SYSBIN)/gemini2html install -m755 gemini2html.1 $(SYSMAN)/man1/gemini2html.1 install -m755 libgemini2html.so $(SYSLIB)/libgemini2html.so ldconfig -n $(SYSLIB) install_user: gemini2html gemini2html.1 mkdir -m755 -p $(USERMAN)/man1 install -m755 gemini2html $(USERBIN)/gemini2html install -m755 gemini2html.1 $(USERMAN)/man1/gemini2html.1 uninstall: $(RM) $(SYSBIN)/gemini2html $(SYSMAN)/gemini2html.1 $(SYSLIB)/libgemini2html.so uninstall_user: $(RM) $(USERBIN)/gemini2html $(USERMAN)/gemini2html.1 clean: $(RM) libgemini2html.so gemini2html gemini2html.o main.o .PHONY: default all install install_user uninstall clean