From 4f20f03db7feab491426fb90a80dbd6351382a83 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Fri, 14 Nov 2025 16:13:17 +0100 Subject: [PATCH] make: Re-add files necessary for building closure-compiler Signed-off-by: Jan Lindemann --- make/git-submod.mk | 44 +++++++++++++++++++++++++++++++++++ make/install-files.mk | 54 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 make/git-submod.mk create mode 100644 make/install-files.mk diff --git a/make/git-submod.mk b/make/git-submod.mk new file mode 100644 index 00000000..23f616c4 --- /dev/null +++ b/make/git-submod.mk @@ -0,0 +1,44 @@ +# - Clone remote repo into / +# - Add the following to /Makefile: +# - SUBMOD_SRC_DIR = ./ +# - include +# - run git-init-submod-remote + +ifeq ($(USE_USER_URL),true) + JANWARE_USER_PREFIX = $(JANWARE_USER)@ +endif + +SUBMOD_SRC_DIR ?= . +GIT_SRV_ADMIN_SH = ssh $(JANWARE_USER_PREFIX)git.janware.com /opt/jw-build/bin/git-srv-admin.sh +GIT_REPO_URL = ssh://$(JANWARE_USER_PREFIX)git.janware.com/srv/git/$(JANWARE_USER)/contrib/$(SUBMOD_PKG_NAME) +SUBMOD_PATH = $(patsubst $(abspath $(TOPDIR))/%,%,$(abspath $(CWD)/$(SUBMOD_SRC_DIR))) +SUB_GIT = git -C $(SUBMOD_SRC_DIR) + +ifneq ($(wildcard $(SUBMOD_SRC_DIR)/.git),) + SUBMOD_PKG_NAME := $(shell $(SUB_GIT) remote -v | sed -n 's/^[a-zA-Z_]\+\s//; s/ *.*//; s%.*/%%; s%\.git%%; 1p') + SUBMOD_MAIN_BRANCH := $(firstword $(shell $(SUB_GIT) branch --format '%(refname:lstrip=2)')) +endif + +include $(JWBDIR)/make/defs.mk + +all: +install: +clean: +distclean: + +git-init-submod-remote: + [ "$(SUBMOD_PKG_NAME)" ] # SUBMOD_PKG_NAME + [ "$(SUBMOD_MAIN_BRANCH)" ] # SUBMOD_MAIN_BRANCH + [ "$(SUBMOD_SRC_DIR)" ] # SUBMOD_SRC_DIR + [ "$(SUBMOD_PATH)" ] # SUBMOD_PATH + [ "$(GIT_REPO_URL)" ] # GIT_REPO_URL + $(GIT_SRV_ADMIN_SH) -F contrib create-repo $(SUBMOD_PKG_NAME) + $(SUB_GIT) remote rename origin upstream + $(SUB_GIT) remote set-url --push upstream no-push + $(SUB_GIT) remote add origin $(GIT_REPO_URL) + $(SUB_GIT) config branch.$(SUBMOD_MAIN_BRANCH).remote origin + $(SUB_GIT) config branch.$(SUBMOD_MAIN_BRANCH).merge refs/heads/$(SUBMOD_MAIN_BRANCH) + $(SUB_GIT) push origin $(SUBMOD_MAIN_BRANCH) + git -C $(TOPDIR) submodule add -f $(GIT_REPO_URL) $(SUBMOD_PATH) + git submodule init + git commit -m "Add git submodule $(SUBMOD_PATH)" $(SUBMOD_SRC_DIR) $(TOPDIR)/.gitmodules diff --git a/make/install-files.mk b/make/install-files.mk new file mode 100644 index 00000000..5d8f524a --- /dev/null +++ b/make/install-files.mk @@ -0,0 +1,54 @@ +SOURCE_FILES ?= $(filter-out CVS .git $(LOCAL_MKFILES) %.done, $(wildcard *)) +TARGET_DIR ?= $(PREFIX)/share + +SOURCE_BASE ?= . + +RELPATHS = $(foreach f,$(SOURCE_FILES),$(shell realpath -s --relative-to "$(SOURCE_BASE)" "$f")) +INSTALLED_FILES = $(addprefix $(TARGET_DIR)/,$(RELPATHS)) + +include $(JWBDIR)/make/defs.mk +include $(JWBDIR)/make/dev-utils.mk + +ifeq ($(DEVELOPMENT),true) + TARGET_OWNER ?= $(shell id -un) + TARGET_GROUP ?= $(shell id -gn) +else + TARGET_OWNER ?= root + TARGET_GROUP ?= root +endif +TARGET_DIR_OWNER ?= $(TARGET_OWNER) +TARGET_DIR_GROUP ?= $(TARGET_GROUP) +TARGET_MODE ?= 440 +TARGET_DIR_MODE ?= 770 + +all: +install: install.done +clean: done.clean +distclean: + +done.clean: + $(RM) -f *.done + +$(TARGET_DIR)/%: $(SOURCE_BASE)/% + @if [ -L "$<" -o -f "$<" ]; then \ + echo $(INSTALL) -p -D -m $(TARGET_MODE) -o $(TARGET_OWNER) -g $(TARGET_GROUP) "$<" "$@" ;\ + $(INSTALL) -p -D -m $(TARGET_MODE) -o $(TARGET_OWNER) -g $(TARGET_GROUP) "$<" "$@" ;\ + else \ + echo $(INSTALL) -d -D -m $(TARGET_DIR_MODE) -o $(TARGET_DIR_OWNER) -g $(TARGET_DIR_GROUP) "$@" ;\ + $(INSTALL) -d -D -m $(TARGET_DIR_MODE) -o $(TARGET_DIR_OWNER) -g $(TARGET_DIR_GROUP) "$@" ;\ + fi + +install.done: $(INSTALLED_FILES) + touch $@ + +# this used to work fine until an enormous $(SOURCE_FILES) was encountered +install-old.done: + for f in $(SOURCE_FILES); do \ + relpath=`realpath -s --relative-to "$(SOURCE_BASE)" "$$f"` ;\ + if [ -d "$$f" ]; then \ + $(INSTALL) -d -D -m $(TARGET_DIR_MODE) -o $(TARGET_DIR_OWNER) -g $(TARGET_DIR_GROUP) "$(TARGET_DIR)/$$relpath" ;\ + else \ + $(INSTALL) -p -D -m $(TARGET_MODE) -o $(TARGET_OWNER) -g $(TARGET_GROUP) "$$f" "$(TARGET_DIR)/$$relpath" ;\ + fi ;\ + done + touch $@