Correct Makefile
[clav.git] / Makefile
blob129ff9040ef97a8477a9fe3ca5dde4519a08812f
1 .SUFFIXES:
2 .SUFFIXES: .o .c .l
4 CFLAGS ?=
5 LDFLAGS ?=
7 PREFIX ?= /usr
8 BINDIR ?= $(PREFIX)/bin
9 SHAREDIR ?= $(PREFIX)/share
11 CFLAGS += -std=c99 -D_POSIX_C_SOURCE=200809L
13 # Debug
14 # CFLAGS += -g -O0 -pedantic -Wall -Wextra -Werror
15 # CFLAGS += -O3 -Wall -Wextra -Werror
17 SDLPROG = clav-sdl
18 TEXTPROG = clav-cli
19 FLIPPROG = clav-flip-find
21 SDL_FONT=\"/usr/share/fonts/dejavu/DejaVuSansMono.ttf\"
23 default: all
25 .PHONY: all
26 all: $(SDLPROG) $(TEXTPROG)
28 # This one is not user-friendly enough to be default yet
29 flip: $(FLIPPROG)
31 $(SDLPROG): clav.o quiver.o ui-sdl.o file-selection.o
32 $(LD) -o $@ $^ $(LDFLAGS) -lm $(shell pkg-config --libs sdl2 SDL2_ttf)
34 $(TEXTPROG): clav.o quiver.o ui-cli.o
35 $(LD) -o $@ $^ $(LDFLAGS)
37 $(FLIPPROG): jury-rig-testing.o quiver.o
38 $(LD) -o $@ $^ $(LDFLAGS)
40 clav.o: clav.c macros.h ui.h quiver.h
41 $(CC) $(CFLAGS) -c -o $@ $<
43 quiver.o: quiver.c macros.h ui.h quiver.h
44 $(CC) $(CFLAGS) -c -o $@ $<
46 ui-sdl.o: ui-sdl.c macros.h ui.h quiver.h
47 $(CC) $(CFLAGS) -DFONT_PATH=$(SDL_FONT) $(shell pkg-config --cflags sdl2 SDL2_ttf) -c -o $@ $<
49 ui-cli.o: ui-cli.c macros.h quiver.h
50 $(CC) $(CFLAGS) -c -o $@ $<
52 file-selection.o: file-selection.c file-selection.h macros.h
53 $(CC) $(CFLAGS) -c -o $@ $<
55 jury-rig-testing.o: jury-rig-testing.c macros.h quiver.h
56 $(CC) $(CFLAGS) -c -o $@ $<
58 .PHONY: clean
59 clean:
60 find -name '*.o' -delete
61 find -name '*~' -delete
62 rm -f $(SDLPROG)
63 rm -f $(TEXTPROG)
64 rm -f $(FLIPPROG)
66 .PHONY: install
67 install: all
68 mkdir -p $(DESTDIR)$(BINDIR)
69 cp -f $(SDLPROG) $(DESTDIR)$(BINDIR)/
70 cp -f $(TEXTPROG) $(DESTDIR)$(BINDIR)/
71 mkdir -p $(DESTDIR)$(SHAREDIR)/clav
72 cp -f data/C2_U02_C2.txt $(DESTDIR)$(SHAREDIR)/clav/
73 cp -f data/G2_U02_G2.txt $(DESTDIR)$(SHAREDIR)/clav/
74 cp -f 'data/Fock_Goncharov_n=3.txt' $(DESTDIR)$(SHAREDIR)/clav/
77 .PHONY: uninstall
78 uninstall:
79 cd $(DESTDIR)$(BINDIR) && rm -f $(SDLPROG)
80 cd $(DESTDIR)$(BINDIR) && rm -f $(TEXTPROG)
81 cd $(DESTDIR)$(SHAREDIR)/clav && rm -f C2_U02_C2.txt G2_U02_G2.txt 'Fock_Goncharov_n=3.txt'