Rudimentary event handling
[clav.git] / Makefile
blobdd6a928495d38c450ce451dba51a063afb64a827
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
19 SDLPROG = clav-sdl
21 OBJ = clav.o
22 SRC = clav.c
23 MAN = clav.1
25 default: all
27 .PHONY: all
28 all: $(SDLPROG)
30 $(SDLPROG): clav.o ui-sdl.o
31 $(LD) $(LDFLAGS) $(shell pkg-config --libs sdl2) -o $@ $^
33 clav.o: clav.c macros.h ui.h
34 $(CC) $(CFLAGS) -c -o $@ $<
36 ui-sdl.o: ui-sdl.c macros.h ui.h
37 $(CC) $(CFLAGS) $(shell pkg-config --cflags sdl2) -c -o $@ $<
39 .PHONY: clean
40 clean:
41 find -name '*.o' -delete
42 find -name '*~' -delete
43 rm -f $(SDLPROG)
45 .PHONY: install
46 install: all
47 mkdir -p $(DESTDIR)$(BINDIR)
48 cp -f $(SDLPROG) $(DESTDIR)$(BINDIR)/
49 mkdir -p $(DESTDIR)$(MANDIR)/man1
50 cp -f $(MAN) $(DESTDIR)$(MANDIR)/man1/
52 .PHONY: uninstall
53 uninstall:
54 cd $(DESTDIR)$(BINDIR) && rm -f $(SDLPROG)
55 cd $(DESTDIR)$(MANDIR)/man1 && rm -f $(MAN)