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

2
brlib

Submodule brlib updated: 97d6570be7...d654b4acde

View File

@@ -17,10 +17,10 @@
# environment.
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]}")/..")
BRLIB_DIR="$BRCHESS_ROOT/brlib/lib"
LD_LIBRARY_PATH=/mypath${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
BRLIBDIR="$BRCHESS_ROOT/brlib/lib"
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 "Chess environment complete.\n"
fi