3 Commits

5 changed files with 47 additions and 37 deletions

View File

@@ -17,18 +17,21 @@ BEAR := bear
TOUCH := touch TOUCH := touch
RM := rm RM := rm
RMDIR := rmdir RMDIR := rmdir
MAKE := make
SRCDIR := ./src SRCDIR := ./src
INCDIR := ./include
OBJDIR := ./obj OBJDIR := ./obj
LIBSRCDIR := ./libsrc
LIBOBJDIR := ./libobj
BINDIR := ./bin BINDIR := ./bin
LIBDIR := ./lib
DEPDIR := ./dep DEPDIR := ./dep
BRLIB := ./brlib
BRINCDIR := $(BRLIB)/include
BRLIBDIR := $(BRLIB)/lib
#LIBSRCDIR := $(BRLIB)/src
#LIBOBJDIR := ./libobj
CCLSROOT := .ccls-root CCLSROOT := .ccls-root
CCLSFILE := compile_commands.json CCLSFILE := compile_commands.json
@@ -36,13 +39,13 @@ SRC := $(wildcard $(SRCDIR)/*.c) # project sources
SRC_FN := $(notdir $(SRC)) # source basename SRC_FN := $(notdir $(SRC)) # source basename
OBJ := $(addprefix $(OBJDIR)/,$(SRC_FN:.c=.o)) OBJ := $(addprefix $(OBJDIR)/,$(SRC_FN:.c=.o))
LIBSRC := $(wildcard $(LIBSRCDIR)/*.c) # lib sources #LIBSRC := $(wildcard $(LIBSRCDIR)/*.c) # lib sources
LIBSRC_FN := $(notdir $(LIBSRC)) # lib sources basename #LIBSRC_FN := $(notdir $(LIBSRC)) # lib sources basename
LIBOBJ := $(addprefix $(LIBOBJDIR)/,$(LIBSRC_FN:.c=.o)) # and lib obj ones #LIBOBJ := $(addprefix $(LIBOBJDIR)/,$(LIBSRC_FN:.c=.o)) # and lib obj ones
LIB := br_$(shell uname -m) # library name LIB := br_$(shell uname -m) # library name
SLIB := $(addsuffix .a, $(LIBDIR)/lib$(LIB)) # static lib #SLIB := $(addsuffix .a, $(LIBDIR)/lib$(LIB)) # static lib
DLIB := $(addsuffix .so, $(LIBDIR)/lib$(LIB)) # dynamic lib #DLIB := $(addsuffix .so, $(LIBDIR)/lib$(LIB)) # dynamic lib
DEP_FN := $(SRC_FN) $(LIBSRC_FN) DEP_FN := $(SRC_FN) $(LIBSRC_FN)
DEP := $(addprefix $(DEPDIR)/,$(DEP_FN:.c=.d)) DEP := $(addprefix $(DEPDIR)/,$(DEP_FN:.c=.d))
@@ -50,11 +53,11 @@ DEP := $(addprefix $(DEPDIR)/,$(DEP_FN:.c=.d))
TARGET_FN := brchess TARGET_FN := brchess
TARGET := $(addprefix $(BINDIR)/,$(TARGET_FN)) TARGET := $(addprefix $(BINDIR)/,$(TARGET_FN))
LDFLAGS := -L$(LIBDIR) LDFLAGS := -L$(BRLIBDIR)
LIBS := -l$(LIB) -lreadline -lncurses LIBS := -l$(LIB) -lreadline -lncurses
##################################### pre-processor flags ##################################### pre-processor flags
CPPFLAGS := -I$(INCDIR) CPPFLAGS := -I$(BRINCDIR)
#CPPFLAGS += -DDEBUG # global #CPPFLAGS += -DDEBUG # global
CPPFLAGS += -DDEBUG_DEBUG # enable log() functions CPPFLAGS += -DDEBUG_DEBUG # enable log() functions
#CPPFLAGS += -DDEBUG_DEBUG_C # enable verbose log() settings #CPPFLAGS += -DDEBUG_DEBUG_C # enable verbose log() settings
@@ -83,9 +86,8 @@ CFLAGS += -Wmissing-declarations
CFLAGS := $(strip $(CFLAGS)) CFLAGS := $(strip $(CFLAGS))
##################################### archiver/linker/dependency flags ##################################### archiver/dependency flags
ARFLAGS := rcs ARFLAGS := rcs
LDFLAGS := -L$(LIBDIR)
DEPFLAGS = -MMD -MP -MF $(DEPDIR)/$*.d DEPFLAGS = -MMD -MP -MF $(DEPDIR)/$*.d
##################################### General targets ##################################### General targets
@@ -138,7 +140,7 @@ endef
##################################### dirs creation ##################################### dirs creation
.PHONY: alldirs .PHONY: alldirs
ALLDIRS := $(DEPDIR) $(OBJDIR) $(LIBDIR) $(LIBOBJDIR) $(BINDIR) ALLDIRS := $(DEPDIR) $(OBJDIR) $(BINDIR)
alldirs: $(ALLDIRS) alldirs: $(ALLDIRS)
@@ -206,17 +208,19 @@ cleanlib:
cleanlibdir: cleanlibdir:
$(call rmdir,$(LIBDIR),libraries) $(call rmdir,$(LIBDIR),libraries)
libs: $(DLIB) $(SLIB) # libs: $(DLIB) $(SLIB)
libs:
$(MAKE) -C $(BRLIB)
$(DLIB): CFLAGS += -fPIC #$(DLIB): CFLAGS += -fPIC
$(DLIB): LDFLAGS += -shared #$(DLIB): LDFLAGS += -shared
$(DLIB): $(LIBOBJ) | $(LIBDIR) #$(DLIB): $(LIBOBJ) | $(LIBDIR)
@echo building $@ shared library. # @echo building $@ shared library.
@$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ # @$(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@
#
$(SLIB): $(LIBOBJ) | $(LIBDIR) #$(SLIB): $(LIBOBJ) | $(LIBDIR)
@echo building $@ static library. # @echo building $@ static library.
$(AR) $(ARFLAGS) $@ $^ # $(AR) $(ARFLAGS) $@ $^
##################################### brchess binaries ##################################### brchess binaries
.PHONY: targets cleanbin cleanbindir .PHONY: targets cleanbin cleanbindir
@@ -230,9 +234,10 @@ cleanbindir:
$(call rmdir,$(BINDIR),binaries) $(call rmdir,$(BINDIR),binaries)
# We don't use static lib, but we could build it here # We don't use static lib, but we could build it here
$(TARGET): $(DLIB) $(OBJ) | $(BINDIR) $(SLIB) #$(TARGET): $(DLIB) $(OBJ) | $(BINDIR) $(SLIB)
$(TARGET): libs $(OBJ) | $(BINDIR) $(SLIB)
@echo generating $@ executable. @echo generating $@ executable.
@$(CC) $(LDFLAGS) $(OBJ) $(LIBS) -o $@ $(CC) $(LDFLAGS) $(OBJ) $(LIBS) -o $@
##################################### pre-processed (.i) and assembler (.s) output ##################################### pre-processed (.i) and assembler (.s) output
%.i: %.c %.i: %.c
@@ -291,10 +296,11 @@ showflags:
@echo DEPFLAGS: $(DEPFLAGS) @echo DEPFLAGS: $(DEPFLAGS)
wtf: wtf:
@printf "LIBOBJDIR=%s\n\n" "$(LIBOBJDIR)" @printf "BRLIBDIR=%s\n" "$(BRLIBDIR)"
@printf "LIBOBJ=%s\n\n" "$(LIBOBJ)" @printf "LDFLAGS=%s\n\n" "$(LDFLAGS)"
@printf "OBJDIR=%s\n\n" "$(OBJDIR)" @#printf "LIBOBJ=%s\n\n" "$(LIBOBJ)"
@printf "OBJ=%s\n\n" "$(OBJ)" @#printf "OBJDIR=%s\n\n" "$(OBJDIR)"
@#printf "OBJ=%s\n\n" "$(OBJ)"
@#echo LIBOBJ=$(LIBOBJ) @#echo LIBOBJ=$(LIBOBJ)
@#echo DEP=$(DEP) @#echo DEP=$(DEP)
@#echo LIBSRC=$(LIBSRC) @#echo LIBSRC=$(LIBSRC)

2
brlib

Submodule brlib updated: 97d6570be7...7bba3c559b

View File

@@ -17,10 +17,11 @@
# environment. # environment.
if [[ ! -v _BRCHESS_ENV_ ]]; then if [[ ! -v _BRCHESS_ENV_ ]]; then
export _BRCHESS_ENV_=1 BRCHESS_ROOT BRLIB_DIR LD_LIBRARY_PATH export _BRCHESS_ENV_=1 BRCHESS_ROOT BRLIBDIR LD_LIBRARY_PATH
BRCHESS_ROOT=$(realpath -L "$(dirname "${BASH_SOURCE[0]}")/..") BRCHESS_ROOT=$(realpath -L "$(dirname "${BASH_SOURCE[0]}")/..")
BRLIB_DIR="$BRCHESS_ROOT/brlib/lib" BRLIBDIR="$BRCHESS_ROOT/brlib/lib"
LD_LIBRARY_PATH=/mypath${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} LD_LIBRARY_PATH="${BRLIBDIR}${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
PATH="$PATH:$(realpath -L "$(dirname "${BASH_SOURCE[0]}")")"
#printf "R=%s L=%s LD=%s\n" "$BRCHESS_ROOT" "$BRLIB_DIR" "$LD_LIBRARY_PATH" #printf "R=%s L=%s LD=%s\n" "$BRCHESS_ROOT" "$BRLIB_DIR" "$LD_LIBRARY_PATH"
printf "Chess environment complete.\n" printf "Chess environment complete.\n"
fi fi

3
scripts/submodules-upd.sh Executable file
View File

@@ -0,0 +1,3 @@
#!/usr/bin/env bash
git submodule update --remote --merge

View File

@@ -179,7 +179,7 @@ eval_t eval_simple(pos_t *pos)
# endif # endif
eval[color] += popcount64(pos->bb[color][bb]) * P_LETTER(piece); eval[color] += popcount64(pos->bb[color][bb]) * P_LETTER(piece);
bit_for_each64_2(cur, _t, pos->bb[color][bb]) { bit_for_each64(cur, _t, pos->bb[color][bb]) {
# ifdef DEBUG_EVAL # ifdef DEBUG_EVAL
log(5, "sq=%d:%d ", cur, gg[color][bb][cur]); log(5, "sq=%d:%d ", cur, gg[color][bb][cur]);
# endif # endif