Stop hardcoding important quivers: move them to data/
[clav.git] / Makefile
blob80374caf02fa1f9bb982f5562a293c282cc61f83
1 .SUFFIXES:
2 .SUFFIXES: .o .c .l
4 CFLAGS ?=
5 LDFLAGS ?=
7 PREFIX ?= /usr
8 BINDIR ?= $(PREFIX)/bin
9 MANDIR ?= $(PREFIX)/share/man
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 MAN = clav.1
25 default: all
27 .PHONY: all
28 all: $(SDLPROG) $(TEXTPROG)
30 sdl2: $(SDLPROG)
31 cli: $(TEXTPROG)
33 # This one is not user-friendly enough to be default yet
34 flip: $(FLIPPROG)
36 $(SDLPROG): clav.o quiver.o ui-sdl.o file-selection.o
37 $(LD) $(LDFLAGS) -lm $(shell pkg-config --libs sdl2 SDL2_ttf) -o $@ $^
39 $(TEXTPROG): clav.o quiver.o ui-cli.o
40 $(LD) $(LDFLAGS) -o $@ $^
42 $(FLIPPROG): jury-rig-testing.o quiver.o
43 $(LD) $(LDFLAGS) -o $@ $^
45 clav.o: clav.c macros.h ui.h quiver.h
46 $(CC) $(CFLAGS) -c -o $@ $<
48 quiver.o: quiver.c macros.h ui.h quiver.h
49 $(CC) $(CFLAGS) -c -o $@ $<
51 ui-sdl.o: ui-sdl.c macros.h ui.h quiver.h
52 $(CC) $(CFLAGS) -DFONT_PATH=$(SDL_FONT) $(shell pkg-config --cflags sdl2 SDL2_ttf) -c -o $@ $<
54 ui-cli.o: ui-cli.c macros.h quiver.h
55 $(CC) $(CFLAGS) -c -o $@ $<
57 file-selection.o: file-selection.c file-selection.h macros.h
58 $(CC) $(CFLAGS) -c -o $@ $<
60 jury-rig-testing.o: jury-rig-testing.c macros.h quiver.h
61 $(CC) $(CFLAGS) -c -o $@ $<
63 .PHONY: clean
64 clean:
65 find -name '*.o' -delete
66 find -name '*~' -delete
67 rm -f $(SDLPROG)
68 rm -f $(TEXTPROG)
69 rm -f $(FLIPPROG)
71 .PHONY: install
72 install: all
73 mkdir -p $(DESTDIR)$(BINDIR)
74 cp -f $(SDLPROG) $(DESTDIR)$(BINDIR)/
75 mkdir -p $(DESTDIR)$(MANDIR)/man1
76 cp -f $(MAN) $(DESTDIR)$(MANDIR)/man1/
78 .PHONY: uninstall
79 uninstall:
80 cd $(DESTDIR)$(BINDIR) && rm -f $(SDLPROG)
81 cd $(DESTDIR)$(MANDIR)/man1 && rm -f $(MAN)