aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
blob: 695a9dc5e7901df0502ea09689312b3d04cf5aab (plain) (blame)
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
56
57
58
59
60
61
62
63
64
# paccache - serve pacman cache and redirect via avahi service

PREFIX	:= /usr
CC	:= gcc
MD	:= markdown
INSTALL	:= install
CP	:= cp
RM	:= rm
SED	:= sed
CFLAGS	+= -O2 -Wall -Werror
CFLAGS	+= -lpthread
CFLAGS	+= $(shell pkg-config --libs --cflags libcurl)
CFLAGS	+= $(shell pkg-config --libs --cflags avahi-client)
CFLAGS	+= $(shell pkg-config --libs --cflags libmicrohttpd)
CFLAGS	+= -liniparser
VERSION := $(shell git describe --tags --long 2>/dev/null)
# this is just a fallback in case you do not use git but downloaded
# a release tarball...
ifeq ($(VERSION),)
VERSION := 0.1.1
endif

all: pacredir avahi/pacdbserve.service README.html

arch: arch.c config.h
	$(CC) -o arch arch.c

pacredir: pacredir.c pacredir.h config.h
	$(CC) $(CFLAGS) $(LDFLAGS) -o pacredir pacredir.c \
		-DVERSION="\"$(VERSION)\""

config.h:
	$(CP) config.def.h config.h

avahi/pacdbserve.service: arch avahi/pacdbserve.service.in
	$(SED) 's/%ARCH%/$(shell ./arch)/' avahi/pacdbserve.service.in > avahi/pacdbserve.service

README.html: README.md
	$(MD) README.md > README.html

install: install-bin install-doc

install-bin: pacredir
	$(INSTALL) -D -m0755 pacredir $(DESTDIR)$(PREFIX)/bin/pacredir
	$(INSTALL) -D -m0644 pacredir.conf $(DESTDIR)/etc/pacredir.conf
	$(INSTALL) -D -m0644 pacman/paccache $(DESTDIR)/etc/pacman.d/paccache
	$(INSTALL) -D -m0644 avahi/pacserve.service $(DESTDIR)/etc/avahi/services/pacserve.service
	$(INSTALL) -D -m0644 avahi/pacdbserve.service $(DESTDIR)/etc/avahi/services/pacdbserve.service
	$(INSTALL) -D -m0644 systemd/pacserve.service $(DESTDIR)$(PREFIX)/lib/systemd/system/pacserve.service
	$(INSTALL) -D -m0644 systemd/pacdbserve.service $(DESTDIR)$(PREFIX)/lib/systemd/system/pacdbserve.service
	$(INSTALL) -D -m0644 systemd/pacredir.service $(DESTDIR)$(PREFIX)/lib/systemd/system/pacredir.service
	$(INSTALL) -D -m0644 initcpio/hook/paccache $(DESTDIR)$(PREFIX)/lib/initcpio/hooks/paccache
	$(INSTALL) -D -m0644 initcpio/install/paccache $(DESTDIR)$(PREFIX)/lib/initcpio/install/paccache
	$(INSTALL) -D -m0755 dhcpcd/80-pacredir $(DESTDIR)$(PREFIX)/lib/dhcpcd/dhcpcd-hooks/80-pacredir

install-doc: README.html
	$(INSTALL) -D -m0644 README.md $(DESTDIR)$(PREFIX)/share/doc/paccache/README.md
	$(INSTALL) -D -m0644 README.html $(DESTDIR)$(PREFIX)/share/doc/paccache/README.html

clean:
	$(RM) -f *.o *~ arch pacredir avahi/pacdbserve.service README.html

distclean:
	$(RM) -f *.o *~ arch pacredir avahi/pacdbserve.service README.html config.h