summaryrefslogtreecommitdiff
path: root/Makefile
blob: 910aa7fdc54d9edb5e923770d5bd6cbf059c0390ae0cab50e554e20acef5127f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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

gemini2html: $(SRCDIR)/gemini2html.c $(SRCDIR)/main.c
	$(CC) $(CFLAGS) -o gemini2html $(SRCDIR)/gemini2html.c $(SRCDIR)/main.c

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

.PHONY: default all install install_user uninstall clean