blob: ee5cd1a8cabdb76c7196249e1c76b3d3b46eb12a (
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
61
62
63
64
65
66
67
68
69
70
71
72
73
|
PREFIX ?= /usr/local
PROG ?= ftag
CFLAGS ?= -O2 -g
LDFLAGS ?=
LIBS ?=
FTAG_VERSION := $(shell git tag --list | tail -n 1 | tr -d 'v')
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) \
$(shell pkg-config --cflags readline) \
-I./uconfig/include
__LDFLAGS := -L./uconfig
__LIBS := -luconfig \
$(shell pkg-config --libs sqlite3) \
$(shell pkg-config --libs readline)
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 \
$(FTAG_ARCHIVE_DIR)/uconfig \
$(FTAG_ARCHIVE_DIR)/uconfig/include \
$(FTAG_ARCHIVE_DIR)/uconfig/src \
$(FTAG_ARCHIVE_DIR)/uconfig/test
cp README.org COPYING Makefile $(FTAG_ARCHIVE_DIR)/
cp src/*.c src/*.h $(FTAG_ARCHIVE_DIR)/src/
cp sql/init.sql $(FTAG_ARCHIVE_DIR)/sql/
cp uconfig/README.org uconfig/COPYING uconfig/Makefile \
$(FTAG_ARCHIVE_DIR)/uconfig/
cp uconfig/include/uconfig.h $(FTAG_ARCHIVE_DIR)/uconfig/include/
cp uconfig/src/uconfig.c $(FTAG_ARCHIVE_DIR)/uconfig/src/
cp uconfig/test/uconfig_test.c uconfig/test/a.conf \
$(FTAG_ARCHIVE_DIR)/uconfig/test/
tar -czf $(FTAG_ARCHIVE) $(FTAG_ARCHIVE_DIR)
.PHONY: all clean dist install uninstall
|