shithub: moonfish

Download patch

ref: 13c9c78cc39e938764abd26ea1169ce74298f4f5
parent: 81083600335e1a837e7bff475d36f94554e30537
author: zamfofex <zamfofex@twdb.moe>
date: Sun Dec 24 03:08:44 EST 2023

fix and simplify makefile

--- a/makefile
+++ b/makefile
@@ -3,34 +3,33 @@
 
 CFLAGS ?= -ansi -O3 -Wall -Wextra -Wpedantic
 PREFIX ?= /usr/local
-BINDIR ?= $PREFIX/bin
+BINDIR ?= $(PREFIX)/bin
 
 cc := $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS)
 
-src := chess.c search.c main.c
-
 moonfish_cc := $(cc) -pthread -D_POSIX_C_SOURCE=199309L
 tools_cc := $(cc) -pthread -D_POSIX_C_SOURCE=200809L
 
-.PHONY: all clean install
+lichess_cc := $(tools_cc) -std=c99
+lichess_libs := -lbearssl -lcjson
 
+.PHONY: all clean install uninstall
+
 all: moonfish play lichess analyse
 
-moonfish moonfish.exe: moonfish.h $(src)
-	$(moonfish_cc) -o $@ $(src)
+chess.c: moonfish.h
+search.c: moonfish.h
+main.c: moonfish.h
+tools/*.c: tools/tools.h
 
-play: moonfish.h tools/tools.h tools/play.c tools/utils.c chess.c
-	$(tools_cc) -o play tools/play.c tools/utils.c chess.c
+moonfish moonfish.exe: chess.c search.c main.c
+	$(moonfish_cc) -o $@ $^
 
-lichess: tools/tools.h tools/lichess.c tools/utils.c chess.c
-	$(tools_cc) -std=c99 -o lichess tools/lichess.c tools/utils.c chess.c -lbearssl -lcjson
+%: tools/%.c tools/utils.c chess.c
+	$(or $($(@)_cc),$(tools_cc)) -o $@ $^ $($(@)_libs)
 
-analyse: tools/tools.h tools/analyse.c tools/utils.c chess.c
-	$(tools_cc) -o analyse tools/analyse.c tools/utils.c chess.c
-
 clean:
-	$(RM) moonfish moonfish.exe play lichess analyse
-	$(RM) moonfish.c moonfish.c.xz moonfish.sh
+	git clean -fdx
 
 install: all
 	install -m 755 moonfish $(BINDIR)/moonfish
@@ -37,3 +36,6 @@
 	install -m 755 play $(BINDIR)/moonfish-play
 	install -m 755 lichess $(BINDIR)/moonfish-lichess
 	install -m 755 analyse $(BINDIR)/moonfish-analyse
+
+uninstall:
+	$(RM) $(BINDIR)/moonfish $(BINDIR)/moonfish-*
--