1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
IDIR=include
CFLAGS=-O3 -ffast-math -Wall -Wextra -Wpedantic -std=c99 -D_DEFAULT_SOURCE $(DEFINES) -I$(IDIR)
NATIVE_FLAGS=-march=native
CAND_SRCS=$(wildcard include/cand_*.c)
SRCS=$(filter-out include/lcdlib.c $(CAND_SRCS),$(wildcard include/*.c))
OBJS=$(SRCS:.c=.o)
BUILDROOT_DIR=buildroot-2020.11.1
CROSS_CC=$(BUILDROOT_DIR)/output/host/bin/arm-linux-cc
CROSS_STRIP=$(BUILDROOT_DIR)/output/host/bin/arm-linux-strip
.DEFAULT_GOAL=native
%.o: %.c
$(CC) -c $< -o $@ $(CFLAGS)
geminict: src/geminict.o $(OBJS)
$(CC) $(CFLAGS) src/geminict.o $(OBJS) -o geminict
ctlm: src/ctlm.o $(OBJS)
$(CC) $(CFLAGS) src/ctlm.o $(OBJS) -o ctlm
cttei: src/cttei.o $(OBJS)
$(CC) $(CFLAGS) src/cttei.o $(OBJS) -o cttei
clean:
rm -f ctlm ct1986 cttei geminict selfplay*
rm -f src/*.o include/*.o
native: CFLAGS += $(NATIVE_FLAGS)
native: ctlm cttei geminict
cand_a = $(word 1,$(subst -, ,$1))
cand_b = $(word 2,$(subst -, ,$1))
.PHONY: selfplay-%
selfplay-%:
rm -f selfplay-%
rm -f src/*.o include/*.o
$(MAKE) SELFPLAY_OUT=$@ \
DEFINES="-DRECORD_PV -DCAND_A=$(call cand_a,$*) -DCAND_B=$(call cand_b,$*) \
-DCAND_A_WEIGHTS_5='\"cand_$(call cand_a,$*)_weights_5.c\"' \
-DCAND_B_WEIGHTS_5='\"cand_$(call cand_b,$*)_weights_5.c\"' \
-DCAND_A_WEIGHTS_6='\"cand_$(call cand_a,$*)_weights_6.c\"' \
-DCAND_B_WEIGHTS_6='\"cand_$(call cand_b,$*)_weights_6.c\"'" \
selfplay-bin
SELFPLAY_OUT ?= selfplay
selfplay-bin: CFLAGS += $(NATIVE_FLAGS)
selfplay-bin: src/selfplay.o $(OBJS)
$(CC) $(CFLAGS) src/selfplay.o $(OBJS) -o $(SELFPLAY_OUT)
$(CROSS_CC):
./resources/do_buildroot.sh $(BUILDROOT_DIR)
ct1986: CC=$(CROSS_CC)
ct1986: STRIP=$(CROSS_STRIP)
ct1986: $(CROSS_CC) clean src/ct1986.o include/lcdlib.o $(OBJS)
$(CC) $(CFLAGS) src/ct1986.o $(OBJS) include/lcdlib.o -o ct1986 -lcurses
$(STRIP) ct1986
pi: CC=$(CROSS_CC)
pi: STRIP=$(CROSS_STRIP)
pi: $(CROSS_CC) ct1986 ctlm
mkdir -p $(BUILDROOT_DIR)/board/raspberrypi0/rootfs_overlay/usr/bin/
cp ct1986 ctlm $(BUILDROOT_DIR)/board/raspberrypi0/rootfs_overlay/usr/bin/
cp resources/ash-profile $(BUILDROOT_DIR)/board/raspberrypi0/rootfs_overlay/.profile
make -C $(BUILDROOT_DIR)
$(info Image ready in $(BUILDROOT_DIR)/output/images/sdcard.img)
|