summaryrefslogtreecommitdiff
path: root/Build/source/libs/freetype2/freetype-src/builds/toplevel.mk
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/freetype2/freetype-src/builds/toplevel.mk')
-rw-r--r--Build/source/libs/freetype2/freetype-src/builds/toplevel.mk37
1 files changed, 36 insertions, 1 deletions
diff --git a/Build/source/libs/freetype2/freetype-src/builds/toplevel.mk b/Build/source/libs/freetype2/freetype-src/builds/toplevel.mk
index 5de61c1137f..3b3fd64fea5 100644
--- a/Build/source/libs/freetype2/freetype-src/builds/toplevel.mk
+++ b/Build/source/libs/freetype2/freetype-src/builds/toplevel.mk
@@ -3,7 +3,7 @@
#
-# Copyright (C) 1996-2020 by
+# Copyright (C) 1996-2021 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -103,6 +103,7 @@ ifneq ($(findstring setup,$(MAKECMDGOALS)),)
check_platform := 1
endif
+
# Include the automatic host platform detection rules when we need to
# check the platform.
#
@@ -112,6 +113,17 @@ ifdef check_platform
include $(TOP_DIR)/builds/detect.mk
+ # For builds directly from the git repository we need to copy files
+ # from `subprojects/dlg' to `src/dlg' and `include/dlg'.
+ #
+ ifeq ($(wildcard $(TOP_DIR)/src/dlg/dlg.*),)
+ ifeq ($(wildcard $(TOP_DIR)/subprojects/dlg/*),)
+ copy_submodule: check_out_submodule
+ endif
+
+ setup: copy_submodule
+ endif
+
# This rule makes sense for Unix only to remove files created by a run of
# the configure script which hasn't been successful (so that no
# `config.mk' has been created). It uses the built-in $(RM) command of
@@ -154,6 +166,23 @@ else
endif # test check_platform
+.PHONY: check_out_submodule copy_submodule
+
+check_out_submodule:
+ $(info Checking out submodule in `subprojects/dlg')
+ git submodule init
+ git submodule update
+
+copy_submodule:
+ $(info Copying files from `subprojects/dlg' to `src/dlg' and `include/dlg')
+ ifeq ($(wildcard include/dlg),)
+ mkdir $(subst /,$(SEP),include/dlg)
+ endif
+ $(COPY) $(subst /,$(SEP),subprojects/dlg/include/dlg/output.h include/dlg)
+ $(COPY) $(subst /,$(SEP),subprojects/dlg/include/dlg/dlg.h include/dlg)
+ $(COPY) $(subst /,$(SEP),subprojects/dlg/src/dlg/dlg.c src/dlg)
+
+
# We always need the list of modules in ftmodule.h.
#
all setup: $(FTMODULE_H)
@@ -219,7 +248,10 @@ dist:
currdir=`pwd` ; \
for f in `find . -wholename '*/.git' -prune \
+ -o -name .gitattributes \
-o -name .gitignore \
+ -o -name .gitlab-ci.yml \
+ -o -name .gitmodules \
-o -name .mailmap \
-o -type d \
-o -print` ; do \
@@ -271,4 +303,7 @@ do-dist: distclean refdoc
rm -rf docs/markdown
rm -f docs/mkdocs.yml
+ @# Remove more stuff related to git.
+ rm -rf subprojects
+
# EOF