summaryrefslogtreecommitdiffstats
path: root/Makefile
blob: 1bb8d077d7657860ff484be4e91708052e8d458c (about) (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
# pacserve - serve pacman cache and redirect via avahi service

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

all: pacredir pacdbserve README.html

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

pacdbserve: avahi/pacdbserve.service.in
	$(SED) 's/%ARCH%/$(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)/usr/bin/pacredir
	$(INSTALL) -D -m0644 pacman/pacserve $(DESTDIR)/etc/pacman.d/pacserve
	$(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)/usr/lib/systemd/system/pacserve.service
	$(INSTALL) -D -m0644 systemd/pacdbserve.service $(DESTDIR)/usr/lib/systemd/system/pacdbserve.service
	$(INSTALL) -D -m0644 systemd/pacredir.service $(DESTDIR)/usr/lib/systemd/system/pacredir.service

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

clean:
	$(RM) -f *.o *~ README.html pacredir