flatten 20260225
This commit is contained in:
61
tjp/Make/Makefile
Executable file
61
tjp/Make/Makefile
Executable file
@@ -0,0 +1,61 @@
|
||||
###################################
|
||||
# License: Modified MIT (NON-AI)
|
||||
# Copyright 2025 Timothy Prepscius
|
||||
# See the LICENSE file in the root directory for license information.
|
||||
###################################
|
||||
|
||||
#
|
||||
# Todo: make the ifeq (Darwin...) go away
|
||||
#
|
||||
|
||||
include $(dir $(realpath $(lastword $(MAKEFILE_LIST))))/Makefile.base
|
||||
|
||||
.PHONY: all
|
||||
all:
|
||||
$(MAKE) build
|
||||
ifeq ("Darwin-YES","$(SYS_NAME)-$(BUILD_ALL)")
|
||||
SYS_SDK=Darwin SYS_NAME=iOS SYS_PLATFORM=simulate $(MAKE) build
|
||||
SYS_SDK=Darwin SYS_NAME=iOS SYS_PLATFORM=arm64 $(MAKE) build
|
||||
endif
|
||||
|
||||
.PHONY: build
|
||||
build:
|
||||
$(MAKE) _debug
|
||||
$(MAKE) _release
|
||||
$(MAKE) _release_log
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
$(MAKE) remove
|
||||
ifeq ("Darwin-YES","$(SYS_NAME)-$(BUILD_ALL)")
|
||||
SYS_SDK=Darwin SYS_NAME=iOS SYS_PLATFORM=simulate $(MAKE) remove
|
||||
SYS_SDK=Darwin SYS_NAME=iOS SYS_PLATFORM=arm64 $(MAKE) remove
|
||||
endif
|
||||
|
||||
.PHONY: remove
|
||||
remove:
|
||||
$(RM) $(OUTPATH)/Debug.$(EXT)
|
||||
$(RM) $(OUTPATH)/Release.$(EXT)
|
||||
$(RM) $(OUTPATH)/ReleaseLog.$(EXT)
|
||||
ifeq ("YES","$(DELETE_ALL)")
|
||||
$(RM) $(OUTPATH)
|
||||
endif
|
||||
|
||||
MAKE_PROJECT_FILE ?= Makefile.project
|
||||
|
||||
.PHONY: _debug
|
||||
_debug :
|
||||
$(MAKE_MULTI) -f $(MAKE_PROJECT_FILE) CONFIG=Debug BUILD_PCH=true MAKEDIR=$(MAKEDIR) build
|
||||
$(MAKE_MULTI) -f $(MAKE_PROJECT_FILE) CONFIG=Debug MAKEDIR=$(MAKEDIR) build
|
||||
|
||||
.PHONY: _release
|
||||
_release :
|
||||
$(MAKE_MULTI) -f $(MAKE_PROJECT_FILE) CONFIG=Release BUILD_PCH=true MAKEDIR=$(MAKEDIR) build
|
||||
$(MAKE_MULTI) -f $(MAKE_PROJECT_FILE) CONFIG=Release MAKEDIR=$(MAKEDIR) build
|
||||
|
||||
.PHONY: _release_log
|
||||
_release_log :
|
||||
$(MAKE_MULTI) -f $(MAKE_PROJECT_FILE) CONFIG=ReleaseLog BUILD_PCH=true MAKEDIR=$(MAKEDIR) build
|
||||
$(MAKE_MULTI) -f $(MAKE_PROJECT_FILE) CONFIG=ReleaseLog MAKEDIR=$(MAKEDIR) build
|
||||
|
||||
|
||||
15
tjp/Make/Makefile-all
Normal file
15
tjp/Make/Makefile-all
Normal file
@@ -0,0 +1,15 @@
|
||||
###################################
|
||||
# License: Modified MIT (NON-AI)
|
||||
# Copyright 2025 Timothy Prepscius
|
||||
# See the LICENSE file in the root directory for license information.
|
||||
###################################
|
||||
|
||||
TOPTARGETS := all clean _debug _release _release_log
|
||||
|
||||
SUBDIRS := $(filter-out make.cpp/,$(dir $(wildcard */Makefile.project)))
|
||||
|
||||
$(TOPTARGETS): $(SUBDIRS)
|
||||
$(SUBDIRS):
|
||||
$(MAKE) -C $@ $(MAKECMDGOALS)
|
||||
|
||||
.PHONY: $(TOPTARGETS) $(SUBDIRS)
|
||||
123
tjp/Make/Makefile.base
Executable file
123
tjp/Make/Makefile.base
Executable file
@@ -0,0 +1,123 @@
|
||||
###################################
|
||||
# License: Modified MIT (NON-AI)
|
||||
# Copyright 2025 Timothy Prepscius
|
||||
# See the LICENSE file in the root directory for license information.
|
||||
###################################
|
||||
|
||||
MAKEDIR := $(realpath $(dir $(lastword $(MAKEFILE_LIST))))
|
||||
ROOTDIR := $(or $(ROOTDIR), $(realpath $(dir $(firstword $(MAKEFILE_LIST)))..))
|
||||
|
||||
GIT_VERSION := $(shell git describe --abbrev=4 --dirty --always)
|
||||
|
||||
IS_DEBUG := true
|
||||
ifeq (,$(findstring Debug,$(CONFIG)))
|
||||
IS_DEBUG := false
|
||||
endif
|
||||
|
||||
UNAME_S := $(shell uname -s)
|
||||
UNAME_M := $(shell uname -m)
|
||||
|
||||
SYS_NAME ?= $(UNAME_S)
|
||||
SYS_SDK ?= $(SYS_NAME)
|
||||
SYS_PLATFORM ?= $(UNAME_M)
|
||||
SIMULATE ?= yes
|
||||
|
||||
#############################
|
||||
MAKE := make ROOTDIR="$(ROOTDIR)"
|
||||
RM := rm -rf
|
||||
#RM := echo
|
||||
COPY = cp
|
||||
# TIMEIT := time
|
||||
TIMEIT :=
|
||||
|
||||
#############################
|
||||
CFLAGS ?=
|
||||
CPPFLAGS ?=
|
||||
MMFLAGS ?=
|
||||
MFLAGS ?=
|
||||
_FLAGS ?=
|
||||
LDFLAGS ?=
|
||||
VISIBILITY_FLAGS_C ?=
|
||||
VISIBILITY_FLAGS_CPP ?=
|
||||
BUILD_FLAGS ?=
|
||||
BUILD_PCH_FLAGS ?=
|
||||
EXT ?= $(SYS_NAME)-$(SYS_PLATFORM)
|
||||
BUILD_ALL ?= YES
|
||||
SECTIONS_FLAGS_C ?= -ffunction-sections -fdata-sections
|
||||
|
||||
|
||||
#############################
|
||||
BIN := .bin
|
||||
OUTPATH := $(BIN)
|
||||
OBJDIR := $(CONFIG).$(EXT)
|
||||
OBJPATH := $(OUTPATH)/$(OBJDIR)
|
||||
|
||||
#############################
|
||||
-include $(ROOTDIR)/*/Libraries.def
|
||||
LIBRARIES ?= $(ROOTDIR)/Core_Libraries
|
||||
LIBRARIES_PROJECT ?= $(LIBRARIES)/project
|
||||
$(info LIBRARIES = $(LIBRARIES))
|
||||
|
||||
#############################
|
||||
include $(MAKEDIR)/Makefile.base.*
|
||||
|
||||
#############################
|
||||
USE_ASAN ?= false
|
||||
ifeq ($(USE_ASAN),true)
|
||||
_FLAGS += -fsanitize=address
|
||||
LDFLAGS += -fsanitize=address -static-libasan
|
||||
endif
|
||||
|
||||
#############################
|
||||
MAKE_MULTI := $(MAKE) -j $(JOBS)
|
||||
|
||||
#############################
|
||||
_FLAGS += -c
|
||||
# -ftime-trace \
|
||||
# -g
|
||||
|
||||
USE_DEPENDENCIES ?= 1
|
||||
############################
|
||||
# USE dependencies
|
||||
ifeq ($(USE_DEPENDENCIES),1)
|
||||
DEPENDENCY_FLAGS := -MMD
|
||||
endif
|
||||
|
||||
_FLAGS += $(DEPENDENCY_FLAGS)
|
||||
VISIBILITY_FLAGS_C := $(VISIBILITY_FLAGS_C) -fvisibility=hidden
|
||||
VISIBILITY_FLAGS_CPP := $(VISIBILITY_FLAGS_CPP) -fvisibility-inlines-hidden -fno-rtti
|
||||
|
||||
# allow data areas to be removed
|
||||
VISIBILITY_FLAGS_C := $(VISIBILITY_FLAGS_C) $(SECTIONS_FLAGS_C)
|
||||
|
||||
CPP_VERSION ?= -std=c++17
|
||||
|
||||
CFLAGS := $(CFLAGS) $(VISIBILITY_FLAGS_C)
|
||||
CPPFLAGS := $(CPPFLAGS) $(CPP_VERSION) -fpermissive $(VISIBILITY_FLAGS_C) $(VISIBILITY_FLAGS_CPP) -Wno-invalid-offsetof
|
||||
MMFLAGS := $(MMFLAGS) $(CPP_VERSION) -fpermissive -fobjc-arc $(VISIBILITY_FLAGS_C) $(VISIBILITY_FLAGS_CPP) -Wno-invalid-offsetof
|
||||
MFLAGS := $(MFLAGS) -fpermissive -fobjc-arc $(VISIBILITY_FLAGS_C)
|
||||
|
||||
BUILD_PCH_FLAGS += -x c++-header
|
||||
|
||||
###########################################################
|
||||
ifeq ($(IS_DEBUG),false)
|
||||
_FLAGS += -O3 -DNDEBUG
|
||||
OBJDIR_NOLOG := Release.$(EXT)
|
||||
|
||||
ifeq (,$(findstring Log,$(CONFIG)))
|
||||
else
|
||||
_FLAGS += -DLOG_DEBUG
|
||||
endif
|
||||
else
|
||||
_FLAGS += -g -D_DEBUG -O0 -DDEBUG=1
|
||||
OBJDIR_NOLOG := Debug.$(EXT)
|
||||
endif
|
||||
|
||||
|
||||
###########################################################
|
||||
#MAKEFILE_LIST_SAVE := $(MAKEFILE_LIST)
|
||||
|
||||
$(info ROOTDIR = $(ROOTDIR))
|
||||
-include $(ROOTDIR)/*/Makefile.def
|
||||
-include $(LIBRARIES)/ext/*/Makefile.def
|
||||
#MAKEFILE_LIST := $(MAKEFILE_LIST_SAVE)
|
||||
34
tjp/Make/Makefile.base.android
Executable file
34
tjp/Make/Makefile.base.android
Executable file
@@ -0,0 +1,34 @@
|
||||
###################################
|
||||
# License: Modified MIT (NON-AI)
|
||||
# Copyright 2025 Timothy Prepscius
|
||||
# See the LICENSE file in the root directory for license information.
|
||||
###################################
|
||||
|
||||
ifeq (Android,$(SYS_NAME))
|
||||
TOOLS := $(NDK)/toolchains/llvm/prebuilt/$(HOST_TAG)/bin
|
||||
AR := $(TOOLS)/llvm-ar
|
||||
|
||||
CC := $(TIMEIT) $(TOOLS)/clang
|
||||
CPP := $(TIMEIT) $(TOOLS)/clang++
|
||||
MM := $(TIMEIT) $(TOOLS)/clang++
|
||||
M := $(TIMEIT) $(TOOLS)/clang
|
||||
LINK := $(TIMEIT) $(TOOLS)/llvm-link
|
||||
SHARED_LINK := $(TIMEIT) $(TOOLS)/ld
|
||||
|
||||
TARGET := aarch64-none-linux-android26
|
||||
SYSROOT := $(NDK)/toolchains/llvm/prebuilt/$(HOST_TAG)/sysroot
|
||||
|
||||
CPPFLAGS += -stdlib=libc++
|
||||
MMFLAGS += -stdlib=libc++
|
||||
_FLAGS += \
|
||||
-Wno-null-conversion \
|
||||
-Wno-extra-tokens \
|
||||
-Wno-int-to-void-pointer-cast \
|
||||
-Wno-deprecated-register \
|
||||
-target $(TARGET) \
|
||||
--sysroot=$(SYSROOT) \
|
||||
-D SYS_ANDROID -D SYS_ARM64 \
|
||||
-fPIC \
|
||||
-D VULKAN_MINIMAL
|
||||
|
||||
endif
|
||||
39
tjp/Make/Makefile.base.cuda
Executable file
39
tjp/Make/Makefile.base.cuda
Executable file
@@ -0,0 +1,39 @@
|
||||
###################################
|
||||
# License: Modified MIT (NON-AI)
|
||||
# Copyright 2025 Timothy Prepscius
|
||||
# See the LICENSE file in the root directory for license information.
|
||||
###################################
|
||||
|
||||
ifeq (Cuda,$(SYS_NAME))
|
||||
|
||||
# Somehow on linux dockers, under colima, dependencies
|
||||
# cause problems -
|
||||
# USE_DEPENDENCIES := 0
|
||||
|
||||
GCCC := nvcc
|
||||
|
||||
AR := ar
|
||||
CC := ${GCCC}
|
||||
CPP := ${GCCC}
|
||||
MM := ${GCCC}
|
||||
M := ${GCCC}
|
||||
LINK := ${GCCC}
|
||||
|
||||
_FLAGS += \
|
||||
-DSYS_LINUX \
|
||||
-DSYS_X86 \
|
||||
-DUSE_CUDA \
|
||||
-ldl -lm -lstdc++ -pthread \
|
||||
-Wno-stringop-overflow \
|
||||
-Wno-stringop-overread \
|
||||
-fno-omit-frame-pointer
|
||||
|
||||
# not needed with newer boost
|
||||
# -DBOOST_NO_CXX98_FUNCTION_BASE=1
|
||||
# -Wno-changes-meaning does not work
|
||||
|
||||
LDFLAGS += -L /usr/local/lib
|
||||
|
||||
PLATFORM_LIBS := -ldl -lm -lstdc++ -pthread
|
||||
|
||||
endif
|
||||
42
tjp/Make/Makefile.base.darwin
Executable file
42
tjp/Make/Makefile.base.darwin
Executable file
@@ -0,0 +1,42 @@
|
||||
###################################
|
||||
# License: Modified MIT (NON-AI)
|
||||
# Copyright 2025 Timothy Prepscius
|
||||
# See the LICENSE file in the root directory for license information.
|
||||
###################################
|
||||
|
||||
ifeq (Darwin,$(SYS_NAME))
|
||||
|
||||
ifeq (arm64,$(SYS_PLATFORM))
|
||||
AR := libtool
|
||||
ARFLAGS := -c -o
|
||||
|
||||
CC := $(TIMEIT) llvm-gcc
|
||||
CPP := $(TIMEIT) llvm-g++
|
||||
MM := $(TIMEIT) llvm-gcc
|
||||
M := $(TIMEIT) llvm-gcc
|
||||
LINK := $(TIMEIT) llvm-gcc
|
||||
|
||||
CPPFLAGS += -stdlib=libc++
|
||||
MMFLAGS += -stdlib=libc++
|
||||
_FLAGS += -Wno-null-conversion -Wno-extra-tokens -Wno-int-to-void-pointer-cast -Wno-deprecated-register -target arm64-apple-macos11.0 -arch arm64
|
||||
_FLAGS += -DSYS_OSX -DSYS_ARM64
|
||||
|
||||
else
|
||||
|
||||
AR := libtool
|
||||
ARFLAGS := -c -o
|
||||
|
||||
CC := $(TIMEIT) llvm-gcc
|
||||
CPP := $(TIMEIT) llvm-g++
|
||||
MM := $(TIMEIT) llvm-gcc
|
||||
M := $(TIMEIT) llvm-gcc
|
||||
LINK := $(TIMEIT) llvm-gcc
|
||||
|
||||
CPPFLAGS += -stdlib=libc++
|
||||
MMFLAGS += -stdlib=libc++
|
||||
_FLAGS += -Wno-null-conversion -Wno-extra-tokens -Wno-int-to-void-pointer-cast -Wno-deprecated-register -target x86_64-apple-macos10.15 -arch x86_64
|
||||
|
||||
_FLAGS += -DSYS_OSX -DSYS_X86
|
||||
endif
|
||||
|
||||
endif
|
||||
80
tjp/Make/Makefile.base.ios
Executable file
80
tjp/Make/Makefile.base.ios
Executable file
@@ -0,0 +1,80 @@
|
||||
###################################
|
||||
# License: Modified MIT (NON-AI)
|
||||
# Copyright 2025 Timothy Prepscius
|
||||
# See the LICENSE file in the root directory for license information.
|
||||
###################################
|
||||
|
||||
ifeq (iOS,$(SYS_NAME))
|
||||
DEVELOPER := /Applications/Xcode.app/Contents/Developer
|
||||
CPPFLAGS += -stdlib=libc++
|
||||
MMFLAGS += -stdlib=libc++
|
||||
|
||||
_FLAGS += -Wno-null-conversion -Wno-extra-tokens -Wno-int-to-void-pointer-cast -Wno-deprecated-register
|
||||
|
||||
###########################################################
|
||||
# IOS SIMULATOR
|
||||
ifeq ($(SYS_PLATFORM),simulate)
|
||||
|
||||
DEVDIR := $(DEVELOPER)/Toolchains/XcodeDefault.xctoolchain/
|
||||
CC := $(DEVDIR)/usr/bin/clang -x c
|
||||
CPP := $(DEVDIR)/usr/bin/clang -x c++
|
||||
MM := $(DEVDIR)/usr/bin/clang -x objective-c++
|
||||
M := $(DEVDIR)/usr/bin/clang -x objective-c
|
||||
LINK := echo
|
||||
|
||||
# arm64 architecture for newer macs
|
||||
_FLAGS += -DSYS_IPHONE -DSYS_ARM64
|
||||
# _FLAGS += -arch arm64
|
||||
|
||||
# x86_64 for older macs
|
||||
# _FLAGS += -arch x86_64
|
||||
# _FLAGS += -DSYS_IPHONE -DSYS_X86
|
||||
|
||||
# i386 for a long time ago
|
||||
# _FLAGS += -arch i386
|
||||
|
||||
_FLAGS += -DSYS_IPHONE_SIMULATE
|
||||
_FLAGS += -Wno-import
|
||||
_FLAGS += -fobjc-abi-version=2
|
||||
_FLAGS += -fobjc-legacy-dispatch
|
||||
_FLAGS += -isysroot $(DEVELOPER)/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk
|
||||
_FLAGS += -mios-simulator-version-min=12.0
|
||||
|
||||
CFLAGS += -Wno-implicit-function-declaration
|
||||
|
||||
AR := libtool
|
||||
ARFLAGS := -c -o
|
||||
|
||||
LDFLAGS += -Xlinker -objc_abi_version -Xlinker 2
|
||||
LDFLAGS += -lobjc
|
||||
LDFLAGS += -framework Foundation -framework UIKit -framework CoreGraphics
|
||||
|
||||
###########################################################
|
||||
# IOS PHONE
|
||||
else
|
||||
|
||||
DEVDIR := $(DEVELOPER)/Toolchains/XcodeDefault.xctoolchain/
|
||||
CC := $(DEVDIR)/usr/bin/clang -x c
|
||||
CPP := $(DEVDIR)/usr/bin/clang -x c++
|
||||
MM := $(DEVDIR)/usr/bin/clang -x objective-c++
|
||||
M := $(DEVDIR)/usr/bin/clang -x objective-c
|
||||
LINK := $(DEVDIR)/usr/bin/clang
|
||||
LINK := echo
|
||||
|
||||
AR := libtool
|
||||
ARFLAGS := -c -o
|
||||
|
||||
_FLAGS += -DSYS_IPHONE -DSYS_ARM64
|
||||
_FLAGS += -fembed-bitcode
|
||||
SECTIONS_FLAGS_C :=
|
||||
|
||||
CFLAGS += -Wno-implicit-function-declaration
|
||||
|
||||
# _FLAGS += -fembed-bitcode-marker
|
||||
_FLAGS += -Wno-import
|
||||
_FLAGS += -arch arm64
|
||||
_FLAGS += -isysroot $(DEVELOPER)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
|
||||
_FLAGS += -miphoneos-version-min=12.0
|
||||
endif
|
||||
|
||||
endif
|
||||
34
tjp/Make/Makefile.base.jobs
Executable file
34
tjp/Make/Makefile.base.jobs
Executable file
@@ -0,0 +1,34 @@
|
||||
###################################
|
||||
# License: Modified MIT (NON-AI)
|
||||
# Copyright 2025 Timothy Prepscius
|
||||
# See the LICENSE file in the root directory for license information.
|
||||
###################################
|
||||
|
||||
ifeq ($(SYS_NAME),Linux)
|
||||
|
||||
HOSTNAME_S := $(shell hostname)
|
||||
ifeq ($(HOSTNAME_S),320f8287df69)
|
||||
JOBS ?= 8
|
||||
else ifeq ($(HOSTNAME_S),lava)
|
||||
JOBS ?= 8
|
||||
else ifeq ($(HOSTNAME_S),purple)
|
||||
JOBS ?= 8
|
||||
else ifeq ($(HOSTNAME_S),yellow)
|
||||
JOBS ?= 8
|
||||
else
|
||||
JOBS ?= 4
|
||||
endif
|
||||
|
||||
else ifeq ($(SYS_NAME),Darwin)
|
||||
|
||||
ifeq ($(SYS_PLATFORM),arm64)
|
||||
JOBS ?= 16
|
||||
else
|
||||
JOBS ?= 4
|
||||
endif
|
||||
else
|
||||
JOBS ?= 2
|
||||
endif
|
||||
|
||||
JOBS ?= 4
|
||||
|
||||
38
tjp/Make/Makefile.base.linux
Executable file
38
tjp/Make/Makefile.base.linux
Executable file
@@ -0,0 +1,38 @@
|
||||
###################################
|
||||
# License: Modified MIT (NON-AI)
|
||||
# Copyright 2025 Timothy Prepscius
|
||||
# See the LICENSE file in the root directory for license information.
|
||||
###################################
|
||||
|
||||
ifeq (Linux,$(SYS_NAME))
|
||||
|
||||
# Somehow on linux dockers, under colima, dependencies
|
||||
# cause problems -
|
||||
# USE_DEPENDENCIES := 0
|
||||
|
||||
GCCC := gcc
|
||||
|
||||
AR := ar
|
||||
CC := ${GCCC}
|
||||
CPP := ${GCCC}
|
||||
MM := ${GCCC}
|
||||
M := ${GCCC}
|
||||
LINK := ${GCCC}
|
||||
|
||||
_FLAGS += \
|
||||
-DSYS_LINUX \
|
||||
-DSYS_X86 \
|
||||
-ldl -lm -lstdc++ -pthread \
|
||||
-Wno-stringop-overflow \
|
||||
-Wno-stringop-overread \
|
||||
-fno-omit-frame-pointer
|
||||
|
||||
# not needed with newer boost
|
||||
# -DBOOST_NO_CXX98_FUNCTION_BASE=1
|
||||
# -Wno-changes-meaning does not work
|
||||
|
||||
LDFLAGS += -L /usr/local/lib
|
||||
|
||||
PLATFORM_LIBS := -ldl -lm -lstdc++ -pthread
|
||||
|
||||
endif
|
||||
31
tjp/Make/Makefile.base.llvm
Executable file
31
tjp/Make/Makefile.base.llvm
Executable file
@@ -0,0 +1,31 @@
|
||||
###################################
|
||||
# License: Modified MIT (NON-AI)
|
||||
# Copyright 2025 Timothy Prepscius
|
||||
# See the LICENSE file in the root directory for license information.
|
||||
###################################
|
||||
|
||||
ifeq (LLVM,$(SYS_NAME))
|
||||
DEVELOPER := /Applications/Xcode.app/Contents/Developer
|
||||
DEVDIR := $(DEVELOPER)/Platforms/iPhoneOS.platform/Developer
|
||||
|
||||
AR := ar
|
||||
CC := clang
|
||||
CPP := clang++
|
||||
MM := clang
|
||||
M := clang
|
||||
LINK := clang
|
||||
CPPFLAGS += -stdlib=libc++
|
||||
MMFLAGS += -stdlib=libc++
|
||||
MFLAGS += -stdlib=libc++
|
||||
_FLAGS += -Wno-null-conversion -Wno-extra-tokens -Wno-int-to-void-pointer-cast -Wno-deprecated-register
|
||||
|
||||
_FLAGS += -Wno-import
|
||||
# _FLAGS += -Werror
|
||||
# _FLAGS += -arch armv6
|
||||
_FLAGS += -mthumb
|
||||
_FLAGS += -isysroot $(DEVELOPER)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
|
||||
_FLAGS += -miphoneos-version-min=11.0
|
||||
_FLAGS += -DSYS_LLVM
|
||||
|
||||
_FLAGS += -emit-llvm -target le32-unknown-nacl
|
||||
endif
|
||||
20
tjp/Make/Makefile.bin
Executable file
20
tjp/Make/Makefile.bin
Executable file
@@ -0,0 +1,20 @@
|
||||
###################################
|
||||
# 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)))
|
||||
|
||||
#include $(SELF_DIR)/Makefile.base
|
||||
include $(SELF_DIR)/Makefile.src
|
||||
|
||||
ifdef BUILD_PCH
|
||||
include $(SELF_DIR)/Makefile.build_pch
|
||||
else
|
||||
include $(SELF_DIR)/Makefile.build_bin
|
||||
endif
|
||||
|
||||
all: build
|
||||
|
||||
|
||||
43
tjp/Make/Makefile.build_bin
Executable file
43
tjp/Make/Makefile.build_bin
Executable file
@@ -0,0 +1,43 @@
|
||||
###################################
|
||||
# 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)/$(EXEFILE)
|
||||
|
||||
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
|
||||
$(LINK) $(LDFLAGS) $(LDPATH) $(OBJ) $(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)
|
||||
|
||||
ifneq ("$(COPY_RESOURCES)","")
|
||||
cp -p -r $(COPY_RESOURCES) $(COPYTO)/$(OBJDIR)/
|
||||
endif
|
||||
|
||||
endif
|
||||
|
||||
exe: $(EXE)
|
||||
build: exe
|
||||
21
tjp/Make/Makefile.build_lib
Executable file
21
tjp/Make/Makefile.build_lib
Executable file
@@ -0,0 +1,21 @@
|
||||
###################################
|
||||
# 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)))
|
||||
|
||||
LIB := $(OBJPATH)/$(LIBFILE)
|
||||
|
||||
$(LIB) : $(OBJ)
|
||||
$(AR) $(ARFLAGS) $(LIB) $(OBJ)
|
||||
|
||||
ifneq ($(COPYTO),)
|
||||
-@mkdir -p $(COPYTO)/$(OBJDIR)
|
||||
@while [ ! -e $(COPYTO)/$(OBJDIR) ]; do sleep 0.1; done
|
||||
cp -p $(LIB) $(COPYTO)/$(OBJDIR)
|
||||
endif
|
||||
|
||||
lib : $(LIB)
|
||||
build: lib
|
||||
37
tjp/Make/Makefile.build_pch
Executable file
37
tjp/Make/Makefile.build_pch
Executable file
@@ -0,0 +1,37 @@
|
||||
###################################
|
||||
# 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)))
|
||||
|
||||
ifneq ($(strip $(PCH)),)
|
||||
|
||||
PCH_OUT := $(OBJPATH)/Precompile.pch.gch
|
||||
|
||||
############################
|
||||
# USE dependencies
|
||||
ifeq ($(USE_DEPENDENCIES),1)
|
||||
PCH_DEPS := $(PCH_OUT:%.gch=%.d)
|
||||
|
||||
$(info $$PCH_OUT is [${PCH_OUT}])
|
||||
#$(info $$PCH_DEPS is [${PCH_DEPS}])
|
||||
-include $(PCH_DEPS)
|
||||
endif
|
||||
|
||||
$(PCH_OUT): $(PCH)
|
||||
-@mkdir -p $(dir $@)
|
||||
@while [ ! -e $(dir $@) ]; do sleep 0.1; done
|
||||
$(CPP) $(INCPATH) $(BUILD_PCH_FLAGS) $(_FLAGS) $(CPPFLAGS) $< -o $@
|
||||
|
||||
lib : $(PCH_OUT)
|
||||
|
||||
else
|
||||
|
||||
lib:
|
||||
|
||||
endif
|
||||
|
||||
|
||||
build: lib
|
||||
43
tjp/Make/Makefile.build_shared_lib
Executable file
43
tjp/Make/Makefile.build_shared_lib
Executable file
@@ -0,0 +1,43 @@
|
||||
###################################
|
||||
# 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
|
||||
19
tjp/Make/Makefile.lib
Executable file
19
tjp/Make/Makefile.lib
Executable file
@@ -0,0 +1,19 @@
|
||||
###################################
|
||||
# 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)))
|
||||
|
||||
include $(SELF_DIR)/Makefile.src
|
||||
|
||||
ifdef BUILD_PCH
|
||||
include $(SELF_DIR)/Makefile.build_pch
|
||||
else
|
||||
include $(SELF_DIR)/Makefile.build_lib
|
||||
endif
|
||||
|
||||
all: build
|
||||
|
||||
|
||||
12
tjp/Make/Makefile.none
Normal file
12
tjp/Make/Makefile.none
Normal file
@@ -0,0 +1,12 @@
|
||||
###################################
|
||||
# License: Modified MIT (NON-AI)
|
||||
# Copyright 2025 Timothy Prepscius
|
||||
# See the LICENSE file in the root directory for license information.
|
||||
###################################
|
||||
|
||||
.PHONY: build
|
||||
build:
|
||||
|
||||
|
||||
.PHONY: all
|
||||
all: build
|
||||
19
tjp/Make/Makefile.shared_lib
Executable file
19
tjp/Make/Makefile.shared_lib
Executable file
@@ -0,0 +1,19 @@
|
||||
###################################
|
||||
# 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)))
|
||||
|
||||
include $(SELF_DIR)/Makefile.src
|
||||
|
||||
ifdef BUILD_PCH
|
||||
include $(SELF_DIR)/Makefile.build_pch
|
||||
else
|
||||
include $(SELF_DIR)/Makefile.build_shared_lib
|
||||
endif
|
||||
|
||||
all: build
|
||||
|
||||
|
||||
136
tjp/Make/Makefile.src
Executable file
136
tjp/Make/Makefile.src
Executable file
@@ -0,0 +1,136 @@
|
||||
###################################
|
||||
# License: Modified MIT (NON-AI)
|
||||
# Copyright 2025 Timothy Prepscius
|
||||
# See the LICENSE file in the root directory for license information.
|
||||
###################################
|
||||
|
||||
#$(info $$PROJECTS is [${PROJECTS}])
|
||||
|
||||
SRC_C := $(foreach dir,$(PROJECTS),$(wildcard $(dir)/*.c)) $(SRC_C)
|
||||
SRC_CPP := $(foreach dir,$(PROJECTS),$(wildcard $(dir)/*.cpp)) $(SRC_CPP)
|
||||
SRC_CC := $(foreach dir,$(PROJECTS),$(wildcard $(dir)/*.cc)) $(SRC_CC)
|
||||
|
||||
SRC_MM := $(foreach dir,$(PROJECTS),$(wildcard $(dir)/*.mm)) $(SRC_MM)
|
||||
SRC_M := $(foreach dir,$(PROJECTS),$(wildcard $(dir)/*.m)) $(SRC_M)
|
||||
|
||||
$(info $$IS_TEST is [${IS_TEST}])
|
||||
ifneq (true,$(IS_TEST))
|
||||
FILTER_OUT_C := $(FILTER_OUT_C) %Test.c %Tests.c
|
||||
FILTER_OUT_CPP := $(FILTER_OUT_CPP) %Test.cpp %Tests.cpp
|
||||
FILTER_OUT_MM := $(FILTER_OUT_MM) %Test.mm %Tests.mm
|
||||
FILTER_OUT_M := $(FILTER_OUT_M) %Test.m %Tests.m
|
||||
endif
|
||||
|
||||
ifneq ($(FILTER_CPP),)
|
||||
SRC_CPP := $(filter $(FILTER_CPP),$(SRC_CPP))
|
||||
endif
|
||||
SRC_CPP := $(filter-out $(FILTER_OUT_CPP),$(SRC_CPP))
|
||||
|
||||
ifneq ($(FILTER_C),)
|
||||
SRC_C := $(filter $(FILTER_C),$(SRC_C))
|
||||
endif
|
||||
SRC_C := $(filter-out $(FILTER_OUT_C),$(SRC_C))
|
||||
|
||||
ifneq ($(FILTER_MM),)
|
||||
SRC_MM := $(filter $(FILTER_MM),$(SRC_MM))
|
||||
endif
|
||||
SRC_MM := $(filter-out $(FILTER_OUT_MM),$(SRC_MM))
|
||||
|
||||
ifneq ($(FILTER_M),)
|
||||
SRC_M := $(filter $(FILTER_M),$(SRC_M))
|
||||
endif
|
||||
SRC_M := $(filter-out $(FILTER_OUT_M),$(SRC_M))
|
||||
|
||||
SRC := $(SRC_C) $(SRC_CPP) $(SRC_CC) $(SRC_MM) $(SRC_M) $(SRC)
|
||||
SRC_CPP := $(filter %.cpp,$(SRC))
|
||||
SRC_C := $(filter %.c,$(SRC))
|
||||
SRC_MM := $(filter %.mm,$(SRC))
|
||||
SRC_CC := $(filter %.cc,$(SRC))
|
||||
SRC_M := $(filter %.m,$(SRC))
|
||||
|
||||
OBJ := \
|
||||
$(SRC_CPP:%.cpp=%.o) \
|
||||
$(SRC_CC:%.cc=%.o) \
|
||||
$(SRC_MM:%.mm=%.o) \
|
||||
$(SRC_C:%.c=%.o) \
|
||||
$(SRC_M:%.m=%.o)
|
||||
|
||||
OBJ := $(patsubst ../%,external/%,$(OBJ))
|
||||
OBJ := $(addprefix $(OBJPATH)/,$(OBJ))
|
||||
|
||||
#$(info $$OBJ is [${OBJ}])
|
||||
|
||||
############################
|
||||
# USE dependencies
|
||||
ifeq ($(USE_DEPENDENCIES),1)
|
||||
DEPS := $(wildcard $(OBJ:%.o=%.d))
|
||||
#$(info $$DEPS is [${DEPS}])
|
||||
-include $(DEPS)
|
||||
endif
|
||||
|
||||
PCH := $(SRC_PCH)
|
||||
$(info $$PCH is [${PCH}])
|
||||
|
||||
ifneq ($(strip $(PCH)),)
|
||||
BUILD_FLAGS := $(BUILD_FLAGS) -include $(OBJPATH)/Precompile.pch
|
||||
endif
|
||||
|
||||
SHELL := /bin/bash
|
||||
|
||||
INCPATH += $(foreach d, $(includes), -I$d)
|
||||
|
||||
$(info $$_FLAGS is [${_FLAGS}])
|
||||
|
||||
$(OBJPATH)/%.o : %.cpp
|
||||
-@mkdir -p $(dir $@)
|
||||
@while [ ! -e $(dir $@) ]; do sleep 0.1; done
|
||||
$(CPP) $(INCPATH) $(BUILD_FLAGS) $(_FLAGS) $(CPPFLAGS) $< -o $@
|
||||
|
||||
$(OBJPATH)/%.o : %.cc
|
||||
-@mkdir -p $(dir $@)
|
||||
@while [ ! -e $(dir $@) ]; do sleep 0.1; done
|
||||
$(CPP) $(INCPATH) $(BUILD_FLAGS) $(_FLAGS) $(CPPFLAGS) $< -o $@
|
||||
|
||||
$(OBJPATH)/%.o : %.mm
|
||||
-@mkdir -p $(dir $@)
|
||||
@while [ ! -e $(dir $@) ]; do sleep 0.1; done
|
||||
$(MM) $(INCPATH) $(BUILD_FLAGS) $(_FLAGS) $(MMFLAGS) $< -o $@
|
||||
|
||||
$(OBJPATH)/%.o : %.m
|
||||
-@mkdir -p $(dir $@)
|
||||
@while [ ! -e $(dir $@) ]; do sleep 0.1; done
|
||||
$(M) $(INCPATH) $(BUILD_FLAGS) $(_FLAGS) $(MFLAGS) $< -o $@
|
||||
|
||||
$(OBJPATH)/%.o : %.c
|
||||
-@mkdir -p $(dir $@)
|
||||
@while [ ! -e $(dir $@) ]; do sleep 0.1; done
|
||||
$(CC) $(INCPATH) $(BUILD_FLAGS) $(_FLAGS) $(CFLAGS) $< -o $@
|
||||
|
||||
## -------------------------------------------
|
||||
## for externals (which occur for compile tests)
|
||||
## -------------------------------------------
|
||||
|
||||
$(OBJPATH)/external/%.o : ../%.cpp
|
||||
-@mkdir -p $(dir $@)
|
||||
@while [ ! -e $(dir $@) ]; do sleep 0.1; done
|
||||
$(CPP) $(INCPATH) $(BUILD_FLAGS) $(_FLAGS) $(CPPFLAGS) $< -o $@
|
||||
|
||||
$(OBJPATH)/external/%.o : ../%.cc
|
||||
-@mkdir -p $(dir $@)
|
||||
@while [ ! -e $(dir $@) ]; do sleep 0.1; done
|
||||
$(CPP) $(INCPATH) $(BUILD_FLAGS) $(_FLAGS) $(CPPFLAGS) $< -o $@
|
||||
|
||||
$(OBJPATH)/external/%.o : ../%.mm
|
||||
-@mkdir -p $(dir $@)
|
||||
@while [ ! -e $(dir $@) ]; do sleep 0.1; done
|
||||
$(MM) $(INCPATH) $(BUILD_FLAGS) $(_FLAGS) $(MMFLAGS) $< -o $@
|
||||
|
||||
$(OBJPATH)/external/%.o : ../%.m
|
||||
-@mkdir -p $(dir $@)
|
||||
@while [ ! -e $(dir $@) ]; do sleep 0.1; done
|
||||
$(M) $(INCPATH) $(BUILD_FLAGS) $(_FLAGS) $(MFLAGS) $< -o $@
|
||||
|
||||
$(OBJPATH)/external/%.o : ../%.c
|
||||
-@mkdir -p $(dir $@)
|
||||
@while [ ! -e $(dir $@) ]; do sleep 0.1; done
|
||||
$(CC) $(INCPATH) $(BUILD_FLAGS) $(_FLAGS) $(CFLAGS) $< -o $@
|
||||
6
tjp/Make/makefile.def
Executable file
6
tjp/Make/makefile.def
Executable file
@@ -0,0 +1,6 @@
|
||||
###################################
|
||||
# License: Modified MIT (NON-AI)
|
||||
# Copyright 2025 Timothy Prepscius
|
||||
# See the LICENSE file in the root directory for license information.
|
||||
###################################
|
||||
|
||||
Reference in New Issue
Block a user