Files
core_make/tjp/Make/Makefile.build_shared_lib
Timothy Prepscius 46185db8f0 flatten 20260225
2026-02-25 12:34:54 -05:00

44 lines
1.3 KiB
Makefile
Executable File

###################################
# License: Modified MIT (NON-AI)
# Copyright 2025 Timothy Prepscius
# See the LICENSE file in the root directory for license information.
###################################
SELF_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
EXE := $(OBJPATH)/$(SHAREDLIBFILE)
LDPATH_NO_L = $(filter-out -L%,$(LDPATH))
LIB_DIRS = $(patsubst -L%,%,$(LDPATH_NO_L))
resolve_lib = $(firstword $(foreach dir,$(LIB_DIRS),$(wildcard $(dir)/lib$1.a $(dir)/lib$1.so)))
LIB_DEPS = $(foreach lib,$(filter -l%,$(LIBS) $(PLATFORM_LIBS)),$(call resolve_lib,$(patsubst -l%,%,$(lib))))
#$(info $$LDPATH is [${LDPATH}])
#$(info $$LDPATH_NO_L is [${LDPATH_NO_L}])
#$(info $$LIB_DIRS is [${LIB_DIRS}])
#$(info $$LIB_DEPS is [${LIB_DEPS}])
$(EXE): $(OBJ) $(LIB_DEPS)
-@mkdir -p $(dir $@)
@while [ ! -e $(dir $@) ]; do sleep 0.1; done
$(SHARED_LINK) $(LDFLAGS) $(LDPATH) $< -shared $(LIBS) $(PLATFORM_LIBS) -o $@
ifneq ("$(COPY_RESOURCES)","")
cp -p -r $(COPY_RESOURCES) $(OBJPATH)/
endif
ifneq ($(COPYTO),)
-@mkdir -p $(COPYTO)/$(OBJDIR)
@while [ ! -e $(COPYTO)/$(OBJDIR) ]; do sleep 0.1; done
cp -p $(EXE) $(COPYTO)/$(OBJDIR)
# must not be indented for a makefile
ifneq ("$(COPY_RESOURCES)","")
cp -p -r $(COPY_RESOURCES) $(COPYTO)/$(OBJDIR)/
endif
endif
exe: $(EXE)
build: exe