aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: 1d60747704aa7a230bbc614d669932f2e29dea9c (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
56
57
58
59
60
PREFIX   ?= /usr/local
PROG     ?= ftag
CFLAGS   ?= -O0 -g3
LDFLAGS  ?=
LIBS     ?=



FTAG_VERSION      := 0.1
FTAG_ARCHIVE_DIR  := ftag-$(FTAG_VERSION)
FTAG_ARCHIVE      := ftag-$(FTAG_VERSION).tar.gz

__CFLAGS   := -std=c99 -Wall \
	      -DFTAG_PREFIX=\"$(PREFIX)\" \
	      -DFTAG_VERSION=\"$(FTAG_VERSION)\" \
	      -D_POSIX_C_SOURCE=200809L \
	      $(shell pkg-config --cflags sqlite3) \
	      -I./uconfig/include
__LDFLAGS  := -L./uconfig
__LIBS     := $(shell pkg-config --libs sqlite3) -luconfig

all: $(PROG)

$(PROG): src/config.o src/input.o src/main.o src/system.o src/utils.o uconfig/libuconfig.a
	$(CC) -o $@ $^ $(__LDFLAGS) $(__LIBS) $(LDFLAGS) $(LIBS)

src/config.o: src/config.c src/config.h src/system.h src/utils.h
src/input.o: src/input.c src/input.h
src/main.o: src/main.c src/input.h src/system.h src/utils.h
src/system.o: src/system.c src/system.h
src/utils.o: src/utils.c src/system.h src/utils.h
.c.o:
	$(CC) $(__CFLAGS) $(CFLAGS) -o $@ -c $<

uconfig/libuconfig.a:
	make -C uconfig

install: $(PROG)
	mkdir -p $(PREFIX)/bin
	install --mode=0755 $(PROG) $(PREFIX)/bin/

	mkdir -p $(PREFIX)/share/ftag/sql
	install --mode=0644 sql/init.sql $(PREFIX)/share/ftag/sql/

uninstall:
	rm -rf $(PREFIX)/bin/$(PROG) $(PREFIX)/share/ftag

clean:
	rm -rf $(PROG) $(FTAG_ARCHIVE_DIR) $(FTAG_ARCHIVE) src/*.o

dist:
	mkdir -p $(FTAG_ARCHIVE_DIR) \
                 $(FTAG_ARCHIVE_DIR)/src \
                 $(FTAG_ARCHIVE_DIR)/sql
	cp README.org COPYING Makefile $(FTAG_ARCHIVE_DIR)/
	cp src/main.c src/Makefile $(FTAG_ARCHIVE_DIR)/src/
	cp sql/init.sql $(FTAG_ARCHIVE_DIR)/sql/
	tar -czf $(FTAG_ARCHIVE) $(FTAG_ARCHIVE_DIR)

.PHONY: all clean dist install uninstall