7 PKG_CONFIG ?
= pkg-config
10 ifneq (,$(findstring -static
,$(LDFLAGS
)))
15 BINDIR ?
= $(PREFIX
)/bin
16 SHAREDIR ?
= $(PREFIX
)/share
17 MANDIR ?
= $(PREFIX
)/share
/man
19 CFLAGS
+= -std
=c99
-D_POSIX_C_SOURCE
=200809L
22 # CFLAGS += -g -O0 -pedantic -Wall -Wextra -Werror
24 # If you plan to use clav-mutation-find, it is highly recommended that you enable -O3
25 # CFLAGS += -O3 -Wall -Wextra -Werror
29 MUTFINDPROG
= clav-mutation-find
30 BFZIIIPROG
= clav-bfzIII
31 GRAPHISOPROG
= clav-check-graph-isomorphism
36 all: $(SDLPROG
) $(TEXTPROG
) $(MUTFINDPROG
) $(BFZIIIPROG
) $(GRAPHISOPROG
)
38 $(SDLPROG
): clav.o quiver.o ui-sdl.o ui-sdl-font.o color-selection.o file-selection.o
39 $(CC
) -o
$@
$^
$(LDFLAGS
) -lm
$(shell $(PKG_CONFIG
) $(PCSTATIC
) --libs sdl2 SDL2_ttf
)
41 $(TEXTPROG
): clav.o quiver.o ui-cli.o
42 $(CC
) -o
$@
$^
$(LDFLAGS
)
44 $(MUTFINDPROG
): mutation-finder.o quiver.o
45 $(CC
) -o
$@
$^
$(LDFLAGS
)
47 $(BFZIIIPROG
): bfzIII.o quiver.o
48 $(CC
) -o
$@
$^
$(LDFLAGS
)
50 $(GRAPHISOPROG
): check-graph-iso.o quiver.o
51 $(CC
) -o
$@
$^
$(LDFLAGS
)
53 clav.o
: clav.c macros.h ui.h quiver.h
54 $(CC
) $(CFLAGS
) -c
-o
$@
$<
56 quiver.o
: quiver.c macros.h ui.h quiver.h
57 $(CC
) $(CFLAGS
) -c
-o
$@
$<
59 ui-sdl.o
: ui-sdl.c macros.h ui.h quiver.h color-selection.h file-selection.h ui-sdl-font.h
60 $(CC
) $(CFLAGS
) $(shell $(PKG_CONFIG
) $(PCSTATIC
) --cflags sdl2 SDL2_ttf
) -c
-o
$@
$<
62 ui-sdl-font.o
: ui-sdl-font.c
63 $(CC
) $(CFLAGS
) -c
-o
$@
$<
65 ui-cli.o
: ui-cli.c macros.h quiver.h
66 $(CC
) $(CFLAGS
) -c
-o
$@
$<
68 file-selection.o
: file-selection.c file-selection.h macros.h
69 $(CC
) $(CFLAGS
) -c
-o
$@
$<
71 color-selection.o
: color-selection.c color-selection.h macros.h
72 $(CC
) $(CFLAGS
) -c
-o
$@
$<
74 mutation-finder.o
: mutation-finder.c macros.h quiver.h
75 $(CC
) $(CFLAGS
) -c
-o
$@
$<
77 bfzIII.o
: bfzIII.c macros.h quiver.h
78 $(CC
) $(CFLAGS
) -c
-o
$@
$<
80 check-graph-iso.o
: check-graph-iso.c macros.h quiver.h
81 $(CC
) $(CFLAGS
) -c
-o
$@
$<
95 mkdir
-p
$(DESTDIR
)$(BINDIR
)
96 cp
-f
$(SDLPROG
) $(DESTDIR
)$(BINDIR
)/
97 cp
-f
$(TEXTPROG
) $(DESTDIR
)$(BINDIR
)/
98 cp
-f
$(MUTFINDPROG
) $(DESTDIR
)$(BINDIR
)/
99 cp
-f
$(BFZIIIPROG
) $(DESTDIR
)$(BINDIR
)/
100 cp
-f
$(GRAPHISOPROG
) $(DESTDIR
)$(BINDIR
)/
101 mkdir
-p
$(DESTDIR
)$(SHAREDIR
)/clav
102 cp
-f data
/*.txt
$(DESTDIR
)$(SHAREDIR
)/clav
/
103 mkdir
-p
$(DESTDIR
)$(MANDIR
)/man1
104 cp
-f clav
.1 $(DESTDIR
)$(MANDIR
)/man1
/
105 cp
-f clav-cli
.1 $(DESTDIR
)$(MANDIR
)/man1
/
106 cp
-f clav-sdl
.1 $(DESTDIR
)$(MANDIR
)/man1
/
107 cp
-f clav-mutation-find
.1 $(DESTDIR
)$(MANDIR
)/man1
/
111 cd
$(DESTDIR
)$(BINDIR
) && rm -f
$(SDLPROG
)
112 cd
$(DESTDIR
)$(BINDIR
) && rm -f
$(TEXTPROG
)
113 cd
$(DESTDIR
)$(BINDIR
) && rm -f
$(MUTFINDPROG
)
114 cd
$(DESTDIR
)$(BINDIR
) && rm -f
$(BFZIIIPROG
)
115 cd
$(DESTDIR
)$(BINDIR
) && rm -f
$(GRAPHISOPROG
)
116 cd
$(DESTDIR
)$(SHAREDIR
) && rm -rf clav
117 cd
$(DESTDIR
)$(MANDIR
)/man1
&& rm -f clav
.1 clav-mutation-find
.1 clav-cli
.1 clav-sdl
.1