aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: d83a942e973439574cbb90c78c36223a8faeb7a72b0caa095201b5fb55c57a0f (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
50
51
52
53
54
55
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