Remove ui_confirm_deny() as an extraneous abstraction
[clav.git] / Makefile
blob1185cd6bf2ac3ee69d4eba0441d5170cf3f6c6a7
1 .SUFFIXES:
2 .SUFFIXES: .o .c .l
4 CFLAGS ?=
5 LDFLAGS ?=
6 LFLAGS ?=
8 PREFIX ?= /usr
9 BINDIR ?= $(PREFIX)/bin
10 MANDIR ?= $(PREFIX)/share/man
12 CC ?= gcc
13 CFLAGS += -std=c99 -D_XOPEN_SOURCE
14 LD ?= gcc
16 # Debug
17 # CFLAGS += -g -O0 -pedantic -Wall -Wextra -Werror
18 CFLAGS += -O3 -Wall -Wextra -Werror
20 SDLPROG = clav-sdl
21 TEXTPROG = clav-cli
22 FLIPPROG = clav-flip-find
24 SDL_FONT=\"/usr/share/fonts/dejavu/DejaVuSansMono.ttf\"
26 MAN = clav.1
28 default: all
30 .PHONY: all
31 all: $(SDLPROG) $(TEXTPROG)
33 sdl2: $(SDLPROG)
34 cli: $(TEXTPROG)
35 flip: $(FLIPPROG)
37 clav.o: clav.c macros.h ui.h quiver.h
38 $(CC) $(CFLAGS) -c -o $@ $<
40 quiver.o: quiver.c macros.h ui.h quiver.h
41 $(CC) $(CFLAGS) -c -o $@ $<
43 $(SDLPROG): clav.o quiver.o ui-sdl.o
44 $(LD) $(LDFLAGS) -lm $(shell pkg-config --libs sdl2 SDL2_ttf) -o $@ $^
46 $(TEXTPROG): clav.o quiver.o ui-cli.o
47 $(LD) $(LDFLAGS) -o $@ $^
49 $(FLIPPROG): jury-rig-testing.o quiver.o
50 $(LD) $(LDFLAGS) -o $@ $^
52 ui-sdl.o: ui-sdl.c macros.h ui.h quiver.h
53 $(CC) $(CFLAGS) -DFONT_PATH=$(SDL_FONT) $(shell pkg-config --cflags sdl2 SDL2_ttf) -c -o $@ $<
55 ui-cli.o: ui-cli.c macros.h quiver.h
56 $(CC) $(CFLAGS) -c -o $@ $<
58 jury-rig-testing.o: jury-rig-testing.c macros.h quiver.h
59 $(CC) $(CFLAGS) -c -o $@ $<
61 .PHONY: clean
62 clean:
63 find -name '*.o' -delete
64 find -name '*~' -delete
65 rm -f $(SDLPROG)
66 rm -f $(TEXTPROG)
67 rm -f $(FLIPPROG)
69 .PHONY: install
70 install: all
71 mkdir -p $(DESTDIR)$(BINDIR)
72 cp -f $(SDLPROG) $(DESTDIR)$(BINDIR)/
73 mkdir -p $(DESTDIR)$(MANDIR)/man1
74 cp -f $(MAN) $(DESTDIR)$(MANDIR)/man1/
76 .PHONY: uninstall
77 uninstall:
78 cd $(DESTDIR)$(BINDIR) && rm -f $(SDLPROG)
79 cd $(DESTDIR)$(MANDIR)/man1 && rm -f $(MAN)