-
Notifications
You must be signed in to change notification settings - Fork 85
/
Makefile
117 lines (80 loc) · 3.62 KB
/
Makefile
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
all:
# Include setting from the configure script
-include config.make
# override CFLAGS += -g -O2 -Werror-implicit-function-declaration -D_POSIX_SOURCE=1 -std=c99 -Wextra -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wrestrict -Wnull-dereference -Wjump-misses-init -Wdouble-promotion -Wshadow -pedantic -fstack-protector-all -fsanitize=address -fstack-protector -fstack-protector-strong
# LDFLAGS += -fsanitize=address
DEPS=$(wildcard *.d)
PSPG_OFILES=csv.o print.o commands.o unicode.o themes.o pspg.o config.o sort.o pgclient.o args.o infra.o \
table.o string.o export.o linebuffer.o bscommands.o readline.o inputs.o theme_loader.o
OBJS=$(PSPG_OFILES)
ifdef COMPILE_MENU
ST_MENU_OFILES=st_menu.o st_menu_styles.o menu.o
OBJS+=$(ST_MENU_OFILES)
endif
all: pspg
st_menu_styles.o: src/st_menu_styles.c config.make
$(CC) src/st_menu_styles.c -c $(CPPFLAGS) $(CFLAGS)
st_menu.o: src/st_menu.c config.make
$(CC) src/st_menu.c -c $(CPPFLAGS) $(CFLAGS)
csv.o: src/pspg.h src/unicode.h src/pretty-csv.c
$(CC) -c src/pretty-csv.c -o csv.o $(CPPFLAGS) $(CFLAGS)
args.o: src/pspg.h src/args.c
$(CC) -c src/args.c -o args.o $(CPPFLAGS) $(CFLAGS)
print.o: src/pspg.h src/unicode.h src/print.c
$(CC) -c src/print.c -o print.o $(CPPFLAGS) $(CFLAGS)
commands.o: src/pspg.h src/commands.h src/commands.c
$(CC) -c src/commands.c -o commands.o $(CPPFLAGS) $(CFLAGS)
config.o: src/config.h src/config.c
$(CC) -c src/config.c -o config.o $(CPPFLAGS) $(CFLAGS)
unicode.o: src/unicode.h src/unicode.c
$(CC) -c src/unicode.c -o unicode.o $(CPPFLAGS) $(CFLAGS)
themes.o: src/themes.h src/themes.c
$(CC) -c src/themes.c -o themes.o $(CPPFLAGS) $(CFLAGS)
sort.o: src/pspg.h src/sort.c
$(CC) -c src/sort.c -o sort.o $(CPPFLAGS) $(CFLAGS)
menu.o: src/pspg.h src/st_menu.h src/commands.h src/menu.c
$(CC) -c src/menu.c -o menu.o $(CPPFLAGS) $(CFLAGS)
pgclient.o: src/pspg.h src/pgclient.c
$(CC) -c src/pgclient.c -o pgclient.o $(CPPFLAGS) $(CFLAGS) $(PG_CPPFLAGS)
infra.o: src/pspg.h src/infra.c
$(CC) -c src/infra.c -o infra.o $(CPPFLAGS) $(CFLAGS)
table.o: src/pspg.h src/table.c
$(CC) -c src/table.c -o table.o $(CPPFLAGS) $(CFLAGS)
string.o: src/pspg.h src/string.c
$(CC) -c src/string.c -o string.o $(CPPFLAGS) $(CFLAGS)
export.o: src/pspg.h src/export.c
$(CC) -c src/export.c -o export.o $(CPPFLAGS) $(CFLAGS)
linebuffer.o: src/pspg.h src/linebuffer.c
$(CC) -c src/linebuffer.c -o linebuffer.o $(CPPFLAGS) $(CFLAGS)
readline.o: src/pspg.h src/readline.c
$(CC) src/readline.c -c $(CPPFLAGS) $(CFLAGS)
inputs.o: src/pspg.h src/inputs.h src/inputs.c
$(CC) src/inputs.c -c $(CPPFLAGS) $(CFLAGS)
bscommands.o: src/pspg.h src/bscommands.c
$(CC) src/bscommands.c -c $(CPPFLAGS) $(CFLAGS)
theme_loader.o: src/pspg.h src/themes.h src/theme_loader.c
$(CC) src/theme_loader.c -c $(CPPFLAGS) $(CFLAGS)
pspg.o: src/commands.h src/config.h src/unicode.h src/themes.h src/inputs.h src/pspg.c
$(CC) -c src/pspg.c -o pspg.o $(CPPFLAGS) $(CFLAGS)
pspg: $(PSPG_OFILES) $(ST_MENU_OFILES) config.make
$(CC) $(PSPG_OFILES) $(ST_MENU_OFILES) -o pspg $(LDFLAGS) $(LDLIBS) $(PG_LFLAGS) $(PG_LDFLAGS) $(PG_LIBS)
man:
ronn --manual="pspg manual" --section=1 < README.md > pspg.1
clean:
$(RM) $(ST_MENU_OFILES)
$(RM) $(PSPG_OFILES)
$(RM) $(DEPS)
$(RM) pspg
distclean: clean
$(RM) -r autom4te.cache
$(RM) aclocal.m4 configure
$(RM) config.h config.log config.make config.status config.h.in
install: all
tools/install.sh bin pspg "$(DESTDIR)$(bindir)"
man-install:
tools/install.sh data pspg.1 "$(mandir)/man1"
strip-install: all
strip pspg
tools/install.sh bin pspg "$(DESTDIR)$(bindir)"
# Pull-in dependencies generated by -MD
-include $(OBJS:.o=.d)