44 lines
1.3 KiB
Makefile
Executable File
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
|