adapt Makefile/env.sh to new brlib tree

This commit is contained in:
2023-12-29 17:49:17 +01:00
parent 345834159a
commit ab629fdfa0
3 changed files with 33 additions and 27 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
@@ -37,12 +40,12 @@ 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)
@@ -198,7 +200,7 @@ $(LIBOBJDIR)/%.o: $(LIBSRCDIR)/%.c | $(LIBOBJDIR) $(DEPDIR)
$(CC) -c $(DEPFLAGS) $(CPPFLAGS) $(CFLAGS) $< -o $@ $(CC) -c $(DEPFLAGS) $(CPPFLAGS) $(CFLAGS) $< -o $@
##################################### brlib libraries ##################################### brlib libraries
.PHONY: libs cleanlib cleanlibdir .PHONY: cleanlib cleanlibdir
cleanlib: cleanlib:
$(call rmfiles,$(DLIB) $(SLIB),library) $(call rmfiles,$(DLIB) $(SLIB),library)
@@ -206,7 +208,9 @@ 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
@@ -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...d654b4acde

View File

@@ -17,10 +17,10 @@
# 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}
#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