2019-02-05 02:44:07 +02:00
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Core Inform makescript - to be turned into a makefile by inweb
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Inform is a suite of software with many components and a full makefile for
|
|
|
|
# it would be highly repetitive, and hard to maintain. Instead we use this
|
|
|
|
# script for making that makefile; it's human-readable and editable.
|
|
|
|
# To perform the translation, run this as a shell command:
|
|
|
|
#
|
2020-03-29 14:32:49 +03:00
|
|
|
# $ ../inweb/Tangled/inweb -prototype scripts/makescript.txt -makefile makefile
|
2019-02-05 02:44:07 +02:00
|
|
|
#
|
|
|
|
# In the syntax of this file, only curly braces {thus} represent special
|
|
|
|
# features: everything else is raw makefile syntax, copied directly across.
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# The following ensures that basic tools such as CC and LINK have suitable
|
|
|
|
# definitions.
|
|
|
|
|
|
|
|
{platform-settings}
|
|
|
|
|
2020-04-14 19:56:54 +03:00
|
|
|
# The colony file for this collection of webs contains information about their
|
|
|
|
# paths, where they are woven to, and so on
|
|
|
|
|
|
|
|
COLONY = colony.txt
|
|
|
|
|
2019-03-11 01:45:32 +02:00
|
|
|
INTEST = ../intest/Tangled/intest
|
2019-04-16 10:15:15 +03:00
|
|
|
INTESTX = ../intest/Tangled/intest
|
2019-03-16 15:12:11 +02:00
|
|
|
INTESTWEB = ../intest
|
2019-03-11 01:45:32 +02:00
|
|
|
INWEB = ../inweb/Tangled/inweb
|
|
|
|
INWEBX = ../inweb/Tangled/inweb
|
2019-09-07 03:28:18 +03:00
|
|
|
INTERX = inter/Tangled/inter
|
2020-01-29 21:58:43 +02:00
|
|
|
INBUILDX = inbuild/Tangled/inbuild
|
2019-03-11 01:45:32 +02:00
|
|
|
|
2019-02-05 02:44:07 +02:00
|
|
|
# The "-" at the front here tells make to load this file if it exists, and
|
|
|
|
# continue otherwise. If it does exist, it will define the symbol INTEGRATION.
|
|
|
|
# That signals that the user wants to integrate the intools into the UI app;
|
|
|
|
# if it's not defined, the user is just playing with the intools in isolation.
|
|
|
|
# (Different versions of this file are needed on different operating systems.)
|
|
|
|
|
|
|
|
-include ../make-integration-settings.mk
|
|
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Most components of Inform are C programs written as literate-programming
|
|
|
|
# webs, making use of shared libraries of code called modules. We list them.
|
|
|
|
|
|
|
|
# Each module in turn is defined by a symbol name such as NAME, a tool name
|
|
|
|
# (usually the same but in lower case), and lastly a location relative to the
|
|
|
|
# root of the core Inform distribution.
|
|
|
|
# In the eventual makefile, the symbol NAMEWEB is defined as its location.
|
|
|
|
|
2020-05-20 02:02:28 +03:00
|
|
|
{module} WORDS words services/words-module modules
|
|
|
|
{module} SYNTAX syntax services/syntax-module modules
|
|
|
|
{module} HTML html services/html-module modules
|
|
|
|
{module} ARCH arch services/arch-module modules
|
|
|
|
{module} INFLECTIONS inflections services/inflections-module modules
|
2020-05-30 16:33:19 +03:00
|
|
|
{module} LEXICON lexicon services/lexicon-module modules
|
2020-05-20 02:02:28 +03:00
|
|
|
{module} LINGUISTICS linguistics services/linguistics-module modules
|
|
|
|
{module} PROBLEMS problems services/problems-module modules
|
2020-08-08 19:40:02 +03:00
|
|
|
{module} KINDS kinds services/kinds-module modules
|
2020-08-20 01:36:18 +03:00
|
|
|
{module} CALCULUS calculus services/calculus-module modules
|
2020-04-14 19:56:54 +03:00
|
|
|
|
2020-04-02 20:37:37 +03:00
|
|
|
{module} CORE core inform7/core-module modules
|
2020-08-26 00:27:06 +03:00
|
|
|
{module} ASSERTIONS assertions inform7/assertions-module modules
|
|
|
|
{module} KNOWLEDGE knowledge inform7/knowledge-module modules
|
|
|
|
{module} IMPERATIVE imperative inform7/imperative-module modules
|
|
|
|
{module} RUNTIME runtime inform7/runtime-module modules
|
|
|
|
{module} VALUES values inform7/values-module modules
|
2020-04-02 20:37:37 +03:00
|
|
|
{module} IF if inform7/if-module modules
|
|
|
|
{module} INDEX index inform7/index-module modules
|
|
|
|
{module} MULTIMEDIA multimedia inform7/multimedia-module modules
|
2020-04-14 19:56:54 +03:00
|
|
|
|
|
|
|
{module} BYTECODE bytecode inter/bytecode-module modules
|
2020-04-02 20:37:37 +03:00
|
|
|
{module} BUILDING building inter/building-module modules
|
|
|
|
{module} CODEGEN codegen inter/codegen-module modules
|
2020-04-14 19:56:54 +03:00
|
|
|
|
|
|
|
{module} SUPERVISOR supervisor inbuild/supervisor-module modules
|
2019-02-05 02:44:07 +02:00
|
|
|
|
|
|
|
# First, the tools we need to make, using the same declaration notation.
|
|
|
|
# In the eventual makefile, the symbol NAMEWEB is the location of NAME;
|
|
|
|
# the symbol NAMEMAKER is the individual make file for the tool; and
|
|
|
|
# the symbol NAMEX is the actual executable which the tool compiles into.
|
|
|
|
# After its declaration, we list all modules needed to compile the tool.
|
|
|
|
|
2020-04-02 20:37:37 +03:00
|
|
|
{tool} INBLORB inblorb inblorb otools
|
|
|
|
{tool} INDOC indoc indoc otools
|
|
|
|
{tool} INFORM7 inform7 inform7 ctools
|
|
|
|
{tool} INPOLICY inpolicy inpolicy otools
|
|
|
|
{tool} INRTPS inrtps inrtps otools
|
|
|
|
{tool} INBUILDTOOL inbuild inbuild ctools
|
|
|
|
{tool} INTERTOOL inter inter ctools
|
2019-02-05 02:44:07 +02:00
|
|
|
|
|
|
|
# Inform 6 is not a web, so we have to give it special treatment:
|
|
|
|
|
|
|
|
INFORM6X = inform6/Tangled/inform6
|
|
|
|
|
|
|
|
# While these are also executables, they only provide unit tests for modules:
|
|
|
|
|
2020-05-20 02:02:28 +03:00
|
|
|
{tool} SYNTAXTEST syntax-test services/syntax-test utools
|
|
|
|
{tool} WORDSTEST words-test services/words-test utools
|
|
|
|
{tool} ARCHTEST arch-test services/arch-test utools
|
|
|
|
{tool} INFLECTIONSTEST inflections-test services/inflections-test utools
|
|
|
|
{tool} LINGUISTICSTEST linguistics-test services/linguistics-test utools
|
2020-08-08 19:40:02 +03:00
|
|
|
{tool} KINDSTEST kinds-test services/kinds-test utools
|
2020-08-20 01:36:18 +03:00
|
|
|
{tool} CALCULUSTEST calculus-test services/calculus-test utools
|
2020-05-20 02:02:28 +03:00
|
|
|
{tool} PROBLEMSTEST problems-test services/problems-test utools
|
2020-04-14 19:56:54 +03:00
|
|
|
|
2020-04-02 20:37:37 +03:00
|
|
|
{tool} BUILDINGTEST building-test inter/building-test utools
|
2019-02-05 02:44:07 +02:00
|
|
|
|
2020-04-02 20:37:37 +03:00
|
|
|
# And here are other webs:
|
2019-02-05 02:44:07 +02:00
|
|
|
|
2020-04-02 20:37:37 +03:00
|
|
|
{web} BASICINFORMKIT BasicInformKit inform7/Internal/Inter/BasicInformKit kits
|
|
|
|
{web} WORLDMODELKIT WorldModelKit inform7/Internal/Inter/WorldModelKit kits
|
|
|
|
{web} COMMANDPARSERKIT CommandParserKit inform7/Internal/Inter/CommandParserKit kits
|
|
|
|
{web} BASICINFORMEXTRASKIT BasicInformExtrasKit inform7/Internal/Inter/BasicInformExtrasKit kits
|
|
|
|
{web} ENGLISHLANGUAGEKIT EnglishLanguageKit inform7/Internal/Inter/EnglishLanguageKit kits
|
|
|
|
{web} STANDARDRULES standard_rules inform7/extensions/standard_rules extensions
|
|
|
|
{web} BASICINFORM basic_inform inform7/extensions/basic_inform extensions
|
2020-03-29 14:32:49 +03:00
|
|
|
|
2019-02-05 02:44:07 +02:00
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Targets "all" and "force"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# "make all", the default target, incrementally makes the tools; "make force"
|
|
|
|
# makes everything, disregarding all timestamps on files.
|
|
|
|
|
|
|
|
.PHONY: all
|
|
|
|
|
2020-01-29 21:58:43 +02:00
|
|
|
all: tools kits srules localintegration
|
2019-02-05 02:44:07 +02:00
|
|
|
|
|
|
|
.PHONY: force
|
|
|
|
|
2020-01-29 21:58:43 +02:00
|
|
|
force: forcetools forcekits forcesrules localintegration
|
2019-02-05 02:44:07 +02:00
|
|
|
|
2019-02-08 14:03:07 +02:00
|
|
|
.PHONY: localintegration
|
2019-03-17 21:45:41 +02:00
|
|
|
localintegration: inform7/Internal/Languages/English/Syntax.preform
|
|
|
|
|
|
|
|
inform7/Internal/Languages/English/Syntax.preform: inform7/Tangled/Syntax.preform
|
2019-03-16 15:12:11 +02:00
|
|
|
cp -f 'inform7/Tangled/Syntax.preform' "inform7/Internal/Languages/English/Syntax.preform"
|
2019-02-08 14:03:07 +02:00
|
|
|
|
|
|
|
# (Of course those other four phony targets are yet to be defined.)
|
2019-02-08 13:49:53 +02:00
|
|
|
|
2019-02-05 02:44:07 +02:00
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Target "makers"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Each individual tool has its own makefile, stored inside its individual web.
|
|
|
|
# "make makers" runs through each tool in turn and creates this makefile.
|
2020-04-02 15:31:21 +03:00
|
|
|
# Note the repeat-tools-block feature: the line in the block is repeated once for each
|
2019-02-05 02:44:07 +02:00
|
|
|
# defined tool. Inside the block, an asterisk expands to the tool's symbol
|
|
|
|
# name: so for example, for inblorb, *WEB would become INBLORBWEB.
|
|
|
|
|
|
|
|
.PHONY: makers
|
|
|
|
makers:
|
2020-04-02 20:37:37 +03:00
|
|
|
{repeat-tools-block:all}
|
|
|
|
$(INWEBX) $(@WEB) -makefile $(@MAKER)
|
2020-04-02 15:31:21 +03:00
|
|
|
{end-block}
|
2019-03-11 01:45:32 +02:00
|
|
|
$(INWEBX) -prototype inform6/makescript.txt -makefile inform6/inform6.mk
|
2019-04-07 10:39:25 +03:00
|
|
|
$(INWEBX) -prototype retrospective/makescript.txt -makefile retrospective/makefile
|
2019-02-05 02:44:07 +02:00
|
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Target "gitignores"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Each individual web needs its own .gitignore file, and this makes them.
|
|
|
|
|
|
|
|
.PHONY: gitignores
|
|
|
|
gitignores:
|
2019-03-13 00:06:19 +02:00
|
|
|
$(INWEBX) -prototype scripts/gitignorescript.txt -gitignore .gitignore
|
2020-04-02 20:37:37 +03:00
|
|
|
{repeat-tools-block:all}
|
|
|
|
$(INWEBX) $(@WEB) -gitignore $(@WEB)/.gitignore
|
2020-04-02 15:31:21 +03:00
|
|
|
{end-block}
|
2019-03-11 01:45:32 +02:00
|
|
|
$(INWEBX) -prototype inform6/gitignorescript.txt -gitignore inform6/.gitignore
|
2019-02-05 02:44:07 +02:00
|
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Target "versions"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Asks the tools their current version numbers.
|
|
|
|
|
|
|
|
.PHONY: versions
|
|
|
|
versions:
|
2020-04-02 20:37:37 +03:00
|
|
|
{repeat-tools-block:all}
|
|
|
|
$(@X) -version
|
2020-04-02 15:31:21 +03:00
|
|
|
{end-block}
|
2019-02-05 02:44:07 +02:00
|
|
|
$(INFORM6X) -V
|
|
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Targets "srules" and "forcesrules"
|
|
|
|
# -----------------------------------------------------------------------------
|
2019-03-15 23:23:46 +02:00
|
|
|
# The Standard Rules extension is generated from a web (though it is not a
|
|
|
|
# C program), and needs its own individual handling. "make srules" updates
|
|
|
|
# this if need be; "make forcesrules" updates it regardless.
|
2019-02-05 02:44:07 +02:00
|
|
|
|
2019-03-16 15:12:11 +02:00
|
|
|
SRULES = inform7/Internal/Extensions/Graham\ Nelson/Standard\ Rules.i7x
|
2019-10-03 01:04:15 +03:00
|
|
|
BINFORM = inform7/Internal/Extensions/Graham\ Nelson/Basic\ Inform.i7x
|
2019-02-05 02:44:07 +02:00
|
|
|
|
|
|
|
.PHONY: srules
|
|
|
|
srules: $(SRULES)
|
|
|
|
|
2020-01-27 03:22:21 +02:00
|
|
|
$(SRULES): inform7/extensions/standard_rules/Contents.w inform7/extensions/standard_rules/Sections/*.w inform7/extensions/basic_inform/Contents.w inform7/extensions/basic_inform/Sections/*.w
|
|
|
|
$(INWEBX) inform7/extensions/standard_rules -tangle-to $(SRULES)
|
|
|
|
$(INWEBX) inform7/extensions/basic_inform -tangle-to $(BINFORM)
|
2019-02-05 02:44:07 +02:00
|
|
|
|
|
|
|
.PHONY: forcesrules
|
|
|
|
forcesrules:
|
2020-01-27 03:22:21 +02:00
|
|
|
$(INWEBX) inform7/extensions/standard_rules -tangle-to $(SRULES)
|
|
|
|
$(INWEBX) inform7/extensions/basic_inform -tangle-to $(BINFORM)
|
2019-02-05 02:44:07 +02:00
|
|
|
|
2020-01-29 21:58:43 +02:00
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Targets "kits" and "forcekits"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# These are easy because Inbuild performs a make-like service on them; that
|
|
|
|
# saves a great deal of messy make code here.
|
|
|
|
|
|
|
|
.PHONY: kits
|
|
|
|
kits:
|
|
|
|
$(INBUILDX) -build -contents-of inform7/Internal/Inter
|
|
|
|
|
|
|
|
.PHONY: forcekits
|
|
|
|
forcekits:
|
|
|
|
$(INBUILDX) -rebuild -contents-of inform7/Internal/Inter
|
|
|
|
|
2019-02-05 02:44:07 +02:00
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Target "tools"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# "make tools" builds all of the tools incrementally, i.e., only as necessary.
|
|
|
|
# Note the use of repeat to make a list: $(INBLORBX) $(INDOCX) ..., etc.
|
|
|
|
|
|
|
|
.PHONY: tools
|
2020-04-02 20:37:37 +03:00
|
|
|
tools: {repeat-tools-span}$(@X){end-span} $(INFORM6X)
|
2019-02-05 02:44:07 +02:00
|
|
|
|
2020-04-02 20:37:37 +03:00
|
|
|
{repeat-tools-block:all}
|
|
|
|
$(@X): {dependent-files-for-tool-and-modules}@
|
|
|
|
$(MAKE) -f $(@MAKER)
|
2019-02-05 02:44:07 +02:00
|
|
|
|
2020-04-02 15:31:21 +03:00
|
|
|
{end-block}
|
2019-02-05 02:44:07 +02:00
|
|
|
|
|
|
|
# As ever, Inform 6 needs special handling:
|
|
|
|
|
|
|
|
$(INFORM6X): inform6/Inform6/*.c
|
|
|
|
$(MAKE) -f inform6/inform6.mk
|
|
|
|
|
2019-04-07 10:39:25 +03:00
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Target "retrospective"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# "make retrospective" builds the back catalogue of old releases of ni and
|
|
|
|
# cBlorb, in the retrospective/BBBB directories (where BBBB is the release
|
|
|
|
# build code)
|
|
|
|
|
|
|
|
.PHONY: retrospective
|
|
|
|
retrospective:
|
|
|
|
$(MAKE) -f retrospective/makefile
|
|
|
|
|
2019-02-05 02:44:07 +02:00
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Target "forcetools"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Similarly, but with a single target, since nothing is incremental here.
|
|
|
|
|
|
|
|
.PHONY: forcetools
|
|
|
|
forcetools:
|
2020-04-02 20:37:37 +03:00
|
|
|
{repeat-tools-block:all}
|
|
|
|
$(MAKE) -f $(@MAKER) force
|
2019-02-05 02:44:07 +02:00
|
|
|
$(MAKE) -f inform6/inform6.mk force
|
2020-04-02 15:31:21 +03:00
|
|
|
{end-block}
|
2019-02-05 02:44:07 +02:00
|
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Target "check"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# "make check" invites the make file for every tool to run its own tests.
|
|
|
|
# I6 must come first, because that guarantees the Z and Glulx interpreters
|
|
|
|
# are safely built before we need them.
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
.PHONY: check
|
|
|
|
check:
|
|
|
|
$(MAKE) -f inform6/inform6.mk test
|
|
|
|
$(INPOLICYX) -silence -check-problems
|
2020-04-02 20:37:37 +03:00
|
|
|
{repeat-tools-block:all}
|
|
|
|
$(MAKE) -f $(@MAKER) test
|
2020-04-02 15:31:21 +03:00
|
|
|
{end-block}
|
2019-02-05 02:44:07 +02:00
|
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Target "tangle"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# "make tangle", probably not very useful, tangles each web in turn.
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
.PHONY: tangle
|
|
|
|
tangle:
|
|
|
|
$(call tangle-webs)
|
|
|
|
|
|
|
|
define tangle-webs
|
2020-04-02 20:37:37 +03:00
|
|
|
{repeat-tools-block:all}
|
|
|
|
$(INWEBX) $(@WEB) -tangle
|
2020-04-02 15:31:21 +03:00
|
|
|
{end-block}
|
2019-02-05 02:44:07 +02:00
|
|
|
endef
|
|
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Target "weave"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# "make weave" weaves each web in turn.
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
WEAVEOPTS = -weave sections
|
|
|
|
|
|
|
|
.PHONY: weave
|
|
|
|
weave:
|
|
|
|
$(call weave-webs)
|
|
|
|
|
|
|
|
define weave-webs
|
2020-04-02 20:37:37 +03:00
|
|
|
{repeat-tools-block:all}
|
|
|
|
$(INWEBX) $(@WEB) $(WEAVEOPTS)
|
2020-04-02 15:31:21 +03:00
|
|
|
{end-block}
|
2019-02-05 02:44:07 +02:00
|
|
|
endef
|
|
|
|
|
2020-03-23 17:06:04 +02:00
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Target "commit"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# "make commit" should be used only by the Benevolent Overlord of Inform.
|
|
|
|
# It updates the build code and commits to the repository.
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
.PHONY: commit
|
|
|
|
commit:
|
|
|
|
$(INWEBX) -advance-build-file build.txt
|
2020-03-23 23:42:00 +02:00
|
|
|
$(INWEBX) -prototype scripts/READMEscript.txt -write-me README.md
|
2020-03-23 17:06:04 +02:00
|
|
|
git commit -a
|
|
|
|
|
2019-02-10 01:58:02 +02:00
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Target "pages"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# "make pages" refreshes the GitHub Pages content in the docs folder.
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
.PHONY: pages
|
2020-07-20 13:30:03 +03:00
|
|
|
pages: icon readmepage diagrams prepages {repeat-tools-span}@PAGES{end-span} \
|
2020-04-02 20:37:37 +03:00
|
|
|
{repeat-modules-span}@MPAGES{end-span} morepages
|
|
|
|
|
2020-05-03 18:34:53 +03:00
|
|
|
.PHONY: icon
|
|
|
|
icon:
|
|
|
|
mkdir -p docs
|
|
|
|
mkdir -p docs/docs-assets
|
|
|
|
cp -f docs-src/Inform.png docs/docs-assets
|
|
|
|
|
2020-04-02 20:37:37 +03:00
|
|
|
.PHONY: forcepages
|
2020-07-20 13:30:03 +03:00
|
|
|
forcepages: readmepage diagrams forceprepages {repeat-tools-span}@FORCEPAGES{end-span} \
|
2020-04-02 20:37:37 +03:00
|
|
|
{repeat-modules-span}@FORCEMPAGES{end-span} forcemorepages
|
|
|
|
|
|
|
|
.PHONY: readmepage
|
|
|
|
readmepage:
|
2020-03-23 23:42:00 +02:00
|
|
|
$(INWEBX) -prototype scripts/READMEscript.txt -write-me README.md
|
2020-04-02 20:37:37 +03:00
|
|
|
|
2020-07-20 13:30:03 +03:00
|
|
|
.PHONY: diagrams
|
|
|
|
diagrams:
|
|
|
|
cp -f services/linguistics-test/Tests/Test\ Diagrams/_Results_Ideal/*.txt services/linguistics-module/Figures
|
|
|
|
cp -f services/linguistics-test/Tests/vocabulary.txt services/linguistics-module/Figures
|
2020-08-26 12:52:50 +03:00
|
|
|
cp -f inform7/Tests/Test\ Internals/_Results_Ideal/*.txt inform7/assertions-module/Figures
|
2020-08-10 01:42:41 +03:00
|
|
|
cp -f services/kinds-test/Tests/Test\ Cases/_Results_Ideal/*.txt services/kinds-module/Figures
|
2020-08-22 14:59:50 +03:00
|
|
|
cp -f services/calculus-test/Tests/Test\ Cases/_Results_Ideal/*.txt services/calculus-module/Figures
|
2020-07-20 13:30:03 +03:00
|
|
|
|
2020-04-02 20:37:37 +03:00
|
|
|
{repeat-tools-block:ctools}
|
|
|
|
.PHONY: @PAGES
|
|
|
|
@PAGES: docs/$(@LEAF)/index.html
|
|
|
|
|
|
|
|
docs/$(@LEAF)/index.html: {dependent-files-for-tool-alone}@
|
|
|
|
rm -f docs/$(@LEAF)/*.html
|
2020-04-14 19:56:54 +03:00
|
|
|
$(INWEBX) -colony $(COLONY) -member $(@LEAF) -weave
|
2020-04-02 20:37:37 +03:00
|
|
|
|
|
|
|
.PHONY: @FORCEPAGES
|
|
|
|
@FORCEPAGES:
|
|
|
|
rm -f docs/$(@LEAF)/*.html
|
2020-04-14 19:56:54 +03:00
|
|
|
$(INWEBX) -colony $(COLONY) -member $(@LEAF) -weave
|
2020-04-02 20:37:37 +03:00
|
|
|
|
|
|
|
{end-block}
|
|
|
|
|
|
|
|
{repeat-tools-block:otools}
|
|
|
|
.PHONY: @PAGES
|
|
|
|
@PAGES: docs/$(@LEAF)/index.html
|
|
|
|
|
|
|
|
docs/$(@LEAF)/index.html: {dependent-files-for-tool-alone}@
|
|
|
|
rm -f docs/$(@LEAF)/*.html
|
2020-04-14 19:56:54 +03:00
|
|
|
$(INWEBX) -colony $(COLONY) -member $(@LEAF) -weave
|
2020-04-02 20:37:37 +03:00
|
|
|
|
|
|
|
.PHONY: @FORCEPAGES
|
|
|
|
@FORCEPAGES:
|
|
|
|
rm -f docs/$(@LEAF)/*.html
|
2020-04-14 19:56:54 +03:00
|
|
|
$(INWEBX) -colony $(COLONY) -member $(@LEAF) -weave
|
2020-04-02 20:37:37 +03:00
|
|
|
|
|
|
|
{end-block}
|
|
|
|
|
|
|
|
{repeat-tools-block:utools}
|
|
|
|
.PHONY: @PAGES
|
|
|
|
@PAGES: docs/$(@LEAF)/index.html
|
|
|
|
|
|
|
|
docs/$(@LEAF)/index.html: {dependent-files-for-tool-and-modules}@
|
|
|
|
rm -f docs/$(@LEAF)/*.html
|
2020-04-14 19:56:54 +03:00
|
|
|
$(INWEBX) -colony $(COLONY) -member $(@LEAF) -weave
|
2020-04-02 20:37:37 +03:00
|
|
|
|
|
|
|
.PHONY: @FORCEPAGES
|
|
|
|
@FORCEPAGES:
|
|
|
|
rm -f docs/$(@LEAF)/*.html
|
2020-04-14 19:56:54 +03:00
|
|
|
$(INWEBX) -colony $(COLONY) -member $(@LEAF) -weave
|
2020-04-02 20:37:37 +03:00
|
|
|
|
|
|
|
{end-block}
|
|
|
|
|
|
|
|
{repeat-modules-block:all}
|
|
|
|
.PHONY: @MPAGES
|
|
|
|
@MPAGES: docs/$(@LEAF)-module/index.html
|
|
|
|
|
|
|
|
docs/$(@LEAF)-module/index.html: {dependent-files-for-module}@
|
|
|
|
rm -f docs/$(@LEAF)-module/*.html
|
2020-04-14 19:56:54 +03:00
|
|
|
$(INWEBX) -colony $(COLONY) -member $(@LEAF) -weave
|
2020-04-02 20:37:37 +03:00
|
|
|
|
|
|
|
.PHONY: @FORCEMPAGES
|
|
|
|
@FORCEMPAGES:
|
|
|
|
rm -f docs/$(@LEAF)-module/*.html
|
2020-04-14 19:56:54 +03:00
|
|
|
$(INWEBX) -colony $(COLONY) -member $(@LEAF) -weave
|
2020-04-02 20:37:37 +03:00
|
|
|
|
|
|
|
{end-block}
|
|
|
|
|
|
|
|
.PHONY: prepages
|
2020-05-30 16:33:19 +03:00
|
|
|
prepages: diagnostics docs/index.html docs/compiler.html docs/extensions.html docs/other.html docs/units.html
|
2020-04-02 20:37:37 +03:00
|
|
|
|
2020-05-03 18:34:53 +03:00
|
|
|
docs/index.html: docs-src/index.inweb docs-src/nav.html
|
2020-04-14 19:56:54 +03:00
|
|
|
$(INWEBX) -colony $(COLONY) -member overview -weave
|
2020-04-02 20:37:37 +03:00
|
|
|
|
2020-05-03 18:34:53 +03:00
|
|
|
docs/compiler.html: docs-src/compiler.inweb docs-src/navc.html
|
2020-04-14 19:56:54 +03:00
|
|
|
$(INWEBX) -colony $(COLONY) -member compiler -weave
|
2020-04-02 20:37:37 +03:00
|
|
|
|
2020-05-03 18:34:53 +03:00
|
|
|
docs/extensions.html: docs-src/extensions.inweb docs-src/navk.html
|
2020-04-14 19:56:54 +03:00
|
|
|
$(INWEBX) -colony $(COLONY) -member extensions -weave
|
2020-04-02 20:37:37 +03:00
|
|
|
|
2020-05-03 18:34:53 +03:00
|
|
|
docs/other.html: docs-src/other.inweb docs-src/navo.html
|
2020-04-14 19:56:54 +03:00
|
|
|
$(INWEBX) -colony $(COLONY) -member other -weave
|
2020-04-02 20:37:37 +03:00
|
|
|
|
2020-05-03 18:34:53 +03:00
|
|
|
docs/units.html: docs-src/units.inweb docs-src/navu.html
|
2020-04-14 19:56:54 +03:00
|
|
|
$(INWEBX) -colony $(COLONY) -member units -weave
|
2020-04-02 20:37:37 +03:00
|
|
|
|
|
|
|
.PHONY: forceprepages
|
2020-05-30 16:33:19 +03:00
|
|
|
forceprepages: diagnostics
|
2020-03-29 01:18:10 +02:00
|
|
|
rm -f docs/*.html
|
2020-04-14 19:56:54 +03:00
|
|
|
$(INWEBX) -colony $(COLONY) -member overview -weave
|
|
|
|
$(INWEBX) -colony $(COLONY) -member compiler -weave
|
|
|
|
$(INWEBX) -colony $(COLONY) -member extensions -weave
|
|
|
|
$(INWEBX) -colony $(COLONY) -member other -weave
|
|
|
|
$(INWEBX) -colony $(COLONY) -member units -weave
|
2020-05-30 16:33:19 +03:00
|
|
|
|
|
|
|
.PHONY: diagnostics
|
|
|
|
diagnostics:
|
|
|
|
$(INTESTX) inform7 GenerateDiagnostics-G
|
|
|
|
cp -f inform7/Figures/syntax-diagnostics.txt inform7/Downloads/syntax-diagnostics.txt
|
|
|
|
rm -f inform7/Figures/syntax-diagnostics.txt
|
|
|
|
cp -f inform7/Figures/preform-diagnostics.txt inform7/Downloads/preform-diagnostics.txt
|
|
|
|
rm -f inform7/Figures/preform-diagnostics.txt
|
|
|
|
cp -f inform7/Figures/excerpts-diagnostics.txt services/lexicon-module/Figures/excerpts-diagnostics.txt
|
|
|
|
rm -f inform7/Figures/excerpts-diagnostics.txt
|
2020-06-30 01:41:10 +03:00
|
|
|
cp -f inform7/Figures/stock-diagnostics.txt services/linguistics-module/Figures/stock-diagnostics.txt
|
|
|
|
rm -f inform7/Figures/stock-diagnostics.txt
|
2020-05-30 16:33:19 +03:00
|
|
|
|
2020-04-02 20:37:37 +03:00
|
|
|
.PHONY: morepages
|
|
|
|
morepages: {repeat-webs-span}docs/$(@LEAF)/index.html{end-span}
|
|
|
|
|
|
|
|
{repeat-webs-block:kits}
|
|
|
|
|
|
|
|
docs/$(@LEAF)/index.html: {dependent-files-for-tool-alone}@
|
|
|
|
rm -f docs/$(@LEAF)/*.html
|
2020-04-14 19:56:54 +03:00
|
|
|
$(INWEBX) -colony $(COLONY) -member $(@LEAF) -weave
|
2020-04-02 20:37:37 +03:00
|
|
|
|
|
|
|
{end-block}
|
|
|
|
{repeat-webs-block:extensions}
|
|
|
|
|
|
|
|
docs/$(@LEAF)/index.html: {dependent-files-for-tool-alone}@
|
|
|
|
rm -f docs/$(@LEAF)/*.html
|
2020-04-14 19:56:54 +03:00
|
|
|
$(INWEBX) -colony $(COLONY) -member $(@LEAF) -weave
|
2020-04-02 20:37:37 +03:00
|
|
|
|
|
|
|
{end-block}
|
|
|
|
|
|
|
|
.PHONY: forcemorepages
|
|
|
|
forcemorepages:
|
|
|
|
{repeat-webs-block:kits}
|
|
|
|
rm -f docs/$(@LEAF)/*.html
|
2020-04-14 19:56:54 +03:00
|
|
|
$(INWEBX) -colony $(COLONY) -member $(@LEAF) -weave
|
2020-04-02 20:37:37 +03:00
|
|
|
{end-block}
|
|
|
|
{repeat-webs-block:extensions}
|
|
|
|
rm -f docs/$(@LEAF)/*.html
|
2020-04-14 19:56:54 +03:00
|
|
|
$(INWEBX) -colony $(COLONY) -member $(@LEAF) -weave
|
2020-04-02 20:37:37 +03:00
|
|
|
{end-block}
|
2019-02-10 01:58:02 +02:00
|
|
|
|
2019-02-05 02:44:07 +02:00
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Target "clean"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# "make clean" removes inessential files from the Inform source hierarchy
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
.PHONY: clean
|
|
|
|
clean:
|
|
|
|
$(call clean-up)
|
|
|
|
|
|
|
|
define clean-up
|
2020-04-02 20:37:37 +03:00
|
|
|
{repeat-tools-block:all}
|
|
|
|
$(MAKE) -f $(@MAKER) clean
|
2020-04-02 15:31:21 +03:00
|
|
|
{end-block}
|
2019-02-05 02:44:07 +02:00
|
|
|
$(MAKE) -f inform6/inform6.mk clean
|
|
|
|
endef
|
|
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Target "purge"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# "make purge" cleans, but also removes binaries
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
.PHONY: purge
|
|
|
|
purge:
|
|
|
|
$(call purge-up)
|
|
|
|
|
|
|
|
define purge-up
|
2020-04-02 20:37:37 +03:00
|
|
|
{repeat-tools-block:all}
|
|
|
|
$(MAKE) -f $(@MAKER) purge
|
2020-04-02 15:31:21 +03:00
|
|
|
{end-block}
|
2019-02-05 02:44:07 +02:00
|
|
|
$(MAKE) -f inform6/inform6.mk purge
|
|
|
|
endef
|
|
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Target "ebooks"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# "make ebooks" generates the two Inform ebook files in EPUB format.
|
|
|
|
# One combines the manuals Writing with Inform and The Inform Recipe Book into
|
|
|
|
# a single volume, while the other holds the collected change logs.
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
|
|
|
|
.PHONY: ebooks
|
|
|
|
ebooks:
|
|
|
|
$(call clean-ebooks)
|
2019-03-16 15:12:11 +02:00
|
|
|
$(INDOCX) -from resources/Documentation ebook
|
2019-02-05 02:44:07 +02:00
|
|
|
$(call clean-ebooks)
|
2019-03-16 15:12:11 +02:00
|
|
|
$(INDOCX) -from resources/Changes ebook
|
2019-02-05 02:44:07 +02:00
|
|
|
$(call clean-ebooks)
|
|
|
|
|
|
|
|
define clean-ebooks
|
2019-03-16 15:12:11 +02:00
|
|
|
rm -f resources/Documentation/Output/OEBPS/images/*
|
|
|
|
rm -f resources/Documentation/Output/OEBPS/*.*
|
|
|
|
rm -f resources/Documentation/Output/META-INF/container.xml
|
|
|
|
rm -f resources/Documentation/Output/mimetype
|
|
|
|
rm -f resources/Documentation/Output/*.*
|
|
|
|
rm -f resources/Changes/Output/OEBPS/images/*
|
|
|
|
rm -f resources/Changes/Output/OEBPS/*.*
|
|
|
|
rm -f resources/Changes/Output/META-INF/container.xml
|
|
|
|
rm -f resources/Changes/Output/mimetype
|
|
|
|
rm -f resources/Changes/Output/*.*
|
2019-02-05 02:44:07 +02:00
|
|
|
endef
|
|
|
|
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# Targets "integration" and "forceintegration"
|
|
|
|
# -----------------------------------------------------------------------------
|
|
|
|
# This copies material into the user interface application.
|
|
|
|
# -----------------------------------------------------------------------------
|
2019-03-17 21:45:41 +02:00
|
|
|
ifdef BUILTINCOMPS
|
2019-02-05 02:44:07 +02:00
|
|
|
|
|
|
|
INTOOLSBUILTIN = \
|
|
|
|
$(BUILTINCOMPS)/$(INBLORBNAME) \
|
|
|
|
$(BUILTINCOMPS)/$(INFORM6NAME) \
|
|
|
|
$(BUILTINCOMPS)/$(INFORM7NAME) \
|
|
|
|
$(BUILTINCOMPS)/$(INTESTNAME)
|
|
|
|
|
|
|
|
SRULESINPLACE = $(INTERNAL)/Extensions/Graham\ Nelson/Standard\ Rules.i7x
|
2019-10-03 01:04:15 +03:00
|
|
|
BINFORMINPLACE = $(INTERNAL)/Extensions/Graham\ Nelson/Basic\ Inform.i7x
|
2019-02-05 02:44:07 +02:00
|
|
|
INTERNALEXEMPLUM = $(INTERNAL)/Miscellany/Cover.jpg
|
2019-03-16 15:12:11 +02:00
|
|
|
INTERNALEXEMPLUMFROM = inform7/Internal/Miscellany/Cover.jpg
|
2019-02-05 02:44:07 +02:00
|
|
|
IMAGESEXEMPLUM = $(BUILTINHTML)/doc_images/help.png
|
2019-03-16 15:12:11 +02:00
|
|
|
IMAGESEXEMPLUMFROM = resources/Imagery/doc_images/help.png
|
2019-02-05 02:44:07 +02:00
|
|
|
DOCEXEMPLUM = $(BUILTINHTMLINNER)/index.html
|
|
|
|
RTPEXEMPLUM = $(BUILTINHTMLINNER)/RTP_P1.html
|
|
|
|
|
|
|
|
.PHONY: integration
|
|
|
|
integration: \
|
|
|
|
$(INTOOLSBUILTIN) \
|
|
|
|
$(INTERNAL)/Languages/English/Syntax.preform \
|
2020-01-07 23:25:42 +02:00
|
|
|
$(INTERNAL)/Languages/English/Standard.indext \
|
|
|
|
$(INTERNAL)/Languages/English/Basic.indext \
|
2019-02-05 02:44:07 +02:00
|
|
|
$(SRULESINPLACE) \
|
2019-10-03 01:04:15 +03:00
|
|
|
$(BINFORMINPLACE) \
|
2020-02-01 01:04:39 +02:00
|
|
|
kitsintegration \
|
2020-01-22 12:58:51 +02:00
|
|
|
$(DOCEXEMPLUM) \
|
2019-02-05 02:44:07 +02:00
|
|
|
$(INTERNALEXEMPLUM) \
|
|
|
|
$(IMAGESEXEMPLUM) \
|
|
|
|
$(RTPEXEMPLUM)
|
|
|
|
|
2020-02-01 01:04:39 +02:00
|
|
|
.PHONY: kitsintegration
|
|
|
|
kitsintegration:
|
|
|
|
$(call transfer-kits)
|
|
|
|
|
2019-02-05 02:44:07 +02:00
|
|
|
.PHONY: forceintegration
|
|
|
|
forceintegration:
|
|
|
|
$(call transfer-intools)
|
|
|
|
$(call transfer-preform)
|
|
|
|
$(call transfer-standard-rules)
|
2020-02-01 01:04:39 +02:00
|
|
|
$(call transfer-kits)
|
2019-02-05 02:44:07 +02:00
|
|
|
$(call transfer-internal-tree)
|
|
|
|
$(call transfer-images)
|
|
|
|
$(call make-inapp-documentation)
|
|
|
|
$(call make-inapp-outcome-pages)
|
|
|
|
|
|
|
|
# (a) Copying necessary intools into the app
|
|
|
|
|
|
|
|
# Only the following intools are present in the UI app at run-time: inblorb,
|
|
|
|
# inform6, inform7, intest. All can have different names there.
|
|
|
|
|
|
|
|
$(BUILTINCOMPS)/$(INBLORBNAME): $(INBLORBX)
|
|
|
|
mkdir -p $(BUILTINCOMPS)
|
|
|
|
cp -f $(INBLORBX) $(BUILTINCOMPS)/$(INBLORBNAME)
|
|
|
|
|
|
|
|
$(BUILTINCOMPS)/$(INFORM6NAME): inform6/Tangled/inform6
|
|
|
|
$(MAKE) -f inform6/inform6.mk
|
|
|
|
mkdir -p $(BUILTINCOMPS)
|
|
|
|
cp -f $(INFORM6X) $(BUILTINCOMPS)/$(INFORM6NAME)
|
|
|
|
|
|
|
|
$(BUILTINCOMPS)/$(INFORM7NAME): $(INFORM7WEB)/Tangled/inform7
|
|
|
|
$(MAKE) -f $(INFORM7MAKER)
|
|
|
|
mkdir -p $(BUILTINCOMPS)
|
|
|
|
cp -f $(INFORM7X) $(BUILTINCOMPS)/$(INFORM7NAME)
|
|
|
|
|
|
|
|
$(BUILTINCOMPS)/intest: $(INTESTWEB)/Tangled/intest
|
2019-03-16 15:12:11 +02:00
|
|
|
cd ..; $(MAKE) -f intest/intest.mk; cd inform
|
2019-02-05 02:44:07 +02:00
|
|
|
mkdir -p $(BUILTINCOMPS)
|
2019-03-16 15:12:11 +02:00
|
|
|
cp -f $(INTESTWEB)/Tangled/intest $(BUILTINCOMPS)/intest
|
2019-02-05 02:44:07 +02:00
|
|
|
|
|
|
|
define transfer-intools
|
|
|
|
mkdir -p $(BUILTINCOMPS)
|
|
|
|
cp -f $(INBLORBX) $(BUILTINCOMPS)/$(INBLORBNAME)
|
|
|
|
cp -f $(INFORM6X) $(BUILTINCOMPS)/$(INFORM6NAME)
|
|
|
|
cp -f $(INFORM7X) $(BUILTINCOMPS)/$(INFORM7NAME)
|
|
|
|
cp -f $(INTESTX) $(BUILTINCOMPS)/intest
|
|
|
|
endef
|
|
|
|
|
2020-01-07 23:25:42 +02:00
|
|
|
# (b) Copying Preform definition and index things into the app
|
2019-02-05 02:44:07 +02:00
|
|
|
|
|
|
|
$(INTERNAL)/Languages/English/Syntax.preform: $(INFORM7WEB)/Tangled/Syntax.preform
|
|
|
|
$(call transfer-preform)
|
|
|
|
|
|
|
|
$(INFORM7WEB)/Tangled/Syntax.preform:
|
|
|
|
$(MAKE) -f $(INFORM7MAKER)
|
|
|
|
|
2020-01-07 23:25:42 +02:00
|
|
|
$(INTERNAL)/Languages/English/Standard.indext: inform7/Internal/Languages/English/Standard.indext
|
|
|
|
$(call transfer-preform)
|
|
|
|
|
|
|
|
$(INTERNAL)/Languages/English/Basic.indext: inform7/Internal/Languages/English/Basic.indext
|
|
|
|
$(call transfer-preform)
|
|
|
|
|
2019-02-05 02:44:07 +02:00
|
|
|
define transfer-preform
|
|
|
|
cp -f 'inform7/Tangled/Syntax.preform' "$(INTERNAL)/Languages/English/Syntax.preform"
|
2019-03-16 15:12:11 +02:00
|
|
|
cp -f 'inform7/Tangled/Syntax.preform' "inform7/Internal/Languages/English/Syntax.preform"
|
2020-01-07 23:25:42 +02:00
|
|
|
cp -f 'inform7/Internal/Languages/English/Standard.indext' "$(INTERNAL)/Languages/English/Standard.indext"
|
|
|
|
cp -f 'inform7/Internal/Languages/English/Basic.indext' "$(INTERNAL)/Languages/English/Basic.indext"
|
2019-02-05 02:44:07 +02:00
|
|
|
endef
|
|
|
|
|
|
|
|
# (c) Copying the Standard Rules into the app
|
|
|
|
|
|
|
|
$(SRULESINPLACE): $(SRULES)
|
|
|
|
$(call transfer-standard-rules)
|
|
|
|
|
|
|
|
define transfer-standard-rules
|
|
|
|
mkdir -p "$(INTERNAL)/Extensions/Graham Nelson"
|
|
|
|
cp $(SRULES) $(SRULESINPLACE)
|
2020-01-22 12:58:51 +02:00
|
|
|
$(call transfer-xefs)
|
2019-02-05 02:44:07 +02:00
|
|
|
endef
|
|
|
|
|
2019-10-03 01:04:15 +03:00
|
|
|
$(BINFORMINPLACE): $(BINFORM)
|
|
|
|
$(call transfer-basic-inform)
|
|
|
|
|
|
|
|
define transfer-basic-inform
|
|
|
|
mkdir -p "$(INTERNAL)/Extensions/Graham Nelson"
|
|
|
|
cp $(BINFORM) $(BINFORMINPLACE)
|
2020-01-22 12:58:51 +02:00
|
|
|
$(call transfer-xefs)
|
|
|
|
endef
|
|
|
|
|
|
|
|
define transfer-xefs
|
|
|
|
mkdir -p "$(INTERNAL)/HTML"
|
|
|
|
cp -f inform7/Internal/HTML/xrefs.txt "$(INTERNAL)/HTML"
|
2019-10-03 01:04:15 +03:00
|
|
|
endef
|
|
|
|
|
2020-02-10 02:10:58 +02:00
|
|
|
# (d) Copying kits and pipelines into the app
|
2019-02-05 02:44:07 +02:00
|
|
|
|
2020-02-01 01:04:39 +02:00
|
|
|
define transfer-kits
|
|
|
|
$(INBUILDX) -sync-to $(INTERNAL) -contents-of inform7/Internal/Inter
|
2020-02-10 02:10:58 +02:00
|
|
|
$(INBUILDX) -sync-to $(INTERNAL) -contents-of inform7/Internal/Pipelines
|
2019-07-20 14:40:27 +03:00
|
|
|
endef
|
|
|
|
|
2019-02-05 02:44:07 +02:00
|
|
|
# (e) Copying internal resources into the app
|
|
|
|
|
|
|
|
# The Internal tree also holds built-in extensions, web interpreters and so on.
|
|
|
|
# In effect, it's a repository in the UI app of non-executable resources:
|
|
|
|
|
|
|
|
$(INTERNALEXEMPLUM): \
|
2019-03-16 15:12:11 +02:00
|
|
|
inform7/Internal/Extensions/Eric\ Eve/[A-Za-z]* \
|
|
|
|
inform7/Internal/Extensions/Emily\ Short/[A-Za-z]* \
|
|
|
|
inform7/Internal/Extensions/Graham\ Nelson/[A-Za-z]* \
|
|
|
|
inform7/Internal/Miscellany/[A-Za-z]*.* \
|
|
|
|
inform7/Internal/HTML/[A-Za-z]*.* \
|
|
|
|
inform7/Internal/Templates/Parchment/[A-Za-z]*.* \
|
|
|
|
inform7/Internal/Templates/Quixe/[A-Za-z]*.* \
|
|
|
|
inform7/Internal/Templates/Classic/[A-Za-z]*.* \
|
|
|
|
inform7/Internal/Templates/Vorple/[A-Za-z]*.* \
|
|
|
|
inform7/Internal/Templates/Standard/[A-Za-z]*.*
|
2019-02-05 02:44:07 +02:00
|
|
|
$(call transfer-internal-tree)
|
|
|
|
|
|
|
|
define transfer-internal-tree
|
|
|
|
touch $(INTERNALEXEMPLUMFROM)
|
|
|
|
mkdir -p $(INTERNAL)
|
|
|
|
mkdir -p "$(INTERNAL)/Extensions/Eric Eve"
|
|
|
|
rm -f $(INTERNAL)/Extensions/Eric\ Eve/*
|
|
|
|
mkdir -p "$(INTERNAL)/Extensions/Emily Short"
|
|
|
|
rm -f $(INTERNAL)/Extensions/Emily\ Short/*
|
|
|
|
mkdir -p "$(INTERNAL)/Extensions/Graham Nelson"
|
|
|
|
rm -f $(INTERNAL)/Extensions/Graham\ Nelson/*
|
2019-03-16 15:12:11 +02:00
|
|
|
cp -R -f inform7/Internal/Extensions $(INTERNAL)/Extensions/..
|
2019-02-05 02:44:07 +02:00
|
|
|
mkdir -p "$(INTERNAL)/Languages"
|
|
|
|
mkdir -p "$(INTERNAL)/Languages/English"
|
|
|
|
mkdir -p "$(INTERNAL)/Languages/French"
|
|
|
|
mkdir -p "$(INTERNAL)/Languages/German"
|
|
|
|
mkdir -p "$(INTERNAL)/Languages/Italian"
|
|
|
|
mkdir -p "$(INTERNAL)/Languages/Spanish"
|
2019-03-16 15:12:11 +02:00
|
|
|
cp -R -f inform7/Internal/Languages $(INTERNAL)/Languages/..
|
2019-02-05 02:44:07 +02:00
|
|
|
mkdir -p "$(INTERNAL)/Templates"
|
|
|
|
mkdir -p "$(INTERNAL)/Templates/Standard"
|
|
|
|
rm -f $(INTERNAL)/Templates/Standard/*
|
|
|
|
mkdir -p "$(INTERNAL)/Templates/Classic"
|
|
|
|
rm -f $(INTERNAL)/Templates/Classic/*
|
|
|
|
mkdir -p "$(INTERNAL)/Templates/Parchment"
|
|
|
|
rm -f $(INTERNAL)/Templates/Parchment/*
|
|
|
|
mkdir -p "$(INTERNAL)/Templates/Quixe"
|
|
|
|
rm -f $(INTERNAL)/Templates/Quixe/*
|
|
|
|
mkdir -p "$(INTERNAL)/Templates/Vorple"
|
|
|
|
rm -f $(INTERNAL)/Templates/Vorple/*
|
2019-03-16 15:12:11 +02:00
|
|
|
cp -R -f inform7/Internal/Templates $(INTERNAL)/Templates/..
|
2019-02-05 02:44:07 +02:00
|
|
|
mkdir -p "$(INTERNAL)/Miscellany"
|
|
|
|
rm -f $(INTERNAL)/Miscellany/*
|
2019-03-16 15:12:11 +02:00
|
|
|
cp -R -f inform7/Internal/Miscellany $(INTERNAL)/Miscellany/..
|
2019-02-05 02:44:07 +02:00
|
|
|
mkdir -p "$(INTERNAL)/HTML"
|
|
|
|
rm -f $(INTERNAL)/HTML/*
|
2019-03-16 15:12:11 +02:00
|
|
|
cp -R -f inform7/Internal/HTML $(INTERNAL)/HTML/..
|
2019-02-05 02:44:07 +02:00
|
|
|
endef
|
|
|
|
|
|
|
|
# (f) Copying images into the app
|
|
|
|
|
|
|
|
$(IMAGESEXEMPLUM): \
|
2019-03-16 15:12:11 +02:00
|
|
|
resources/Imagery/app_images/[A-Za-z]*.* \
|
|
|
|
resources/Imagery/bg_images/[A-Za-z]*.* \
|
|
|
|
resources/Imagery/doc_images/[A-Za-z]*.* \
|
|
|
|
resources/Imagery/map_icons/[A-Za-z]*.* \
|
|
|
|
resources/Imagery/outcome_images/[A-Za-z]*.* \
|
|
|
|
resources/Imagery/scene_icons/[A-Za-z]*.*
|
2019-02-05 02:44:07 +02:00
|
|
|
$(call transfer-images)
|
|
|
|
|
|
|
|
define transfer-images
|
|
|
|
touch $(IMAGESEXEMPLUMFROM)
|
2019-03-16 15:12:11 +02:00
|
|
|
cp -f resources/Imagery/app_images/Welcome*Background.png $(BUILTINHTML)
|
2019-02-05 02:44:07 +02:00
|
|
|
mkdir -p $(BUILTINHTML)/bg_images
|
|
|
|
rm -f $(BUILTINHTML)/bg_images/*
|
2019-03-16 15:12:11 +02:00
|
|
|
cp -f resources/Imagery/bg_images/[A-Za-z]*.* $(BUILTINHTML)/bg_images
|
2019-02-05 02:44:07 +02:00
|
|
|
mkdir -p $(BUILTINHTML)/doc_images
|
|
|
|
rm -f $(BUILTINHTML)/doc_images/*
|
2019-03-16 15:12:11 +02:00
|
|
|
cp -f resources/Imagery/doc_images/[A-Za-z]*.* $(BUILTINHTML)/doc_images
|
2019-02-05 02:44:07 +02:00
|
|
|
mkdir -p $(BUILTINHTML)/map_icons
|
|
|
|
rm -f $(BUILTINHTML)/map_icons/*
|
2019-03-16 15:12:11 +02:00
|
|
|
cp -f resources/Imagery/map_icons/[A-Za-z]*.* $(BUILTINHTML)/map_icons
|
2019-02-05 02:44:07 +02:00
|
|
|
mkdir -p $(BUILTINHTML)/outcome_images
|
|
|
|
rm -f $(BUILTINHTML)/outcome_images/*
|
2019-03-16 15:12:11 +02:00
|
|
|
cp -f resources/Imagery/outcome_images/[A-Za-z]*.* $(BUILTINHTML)/outcome_images
|
2019-02-05 02:44:07 +02:00
|
|
|
mkdir -p $(BUILTINHTML)/scene_icons
|
|
|
|
rm -f $(BUILTINHTML)/scene_icons/*
|
2019-03-16 15:12:11 +02:00
|
|
|
cp -f resources/Imagery/scene_icons/[A-Za-z]*.* $(BUILTINHTML)/scene_icons
|
2019-02-05 02:44:07 +02:00
|
|
|
endef
|
|
|
|
|
|
|
|
# (g) Typesetting documentation to HTML inside the app
|
|
|
|
|
2019-03-16 15:12:11 +02:00
|
|
|
$(DOCEXEMPLUM): resources/Documentation/*.txt resources/Documentation/Examples/*.txt
|
2019-02-05 02:44:07 +02:00
|
|
|
$(call make-inapp-documentation)
|
|
|
|
|
|
|
|
define make-inapp-documentation
|
|
|
|
mkdir -p "$(INTERNAL)/Documentation"
|
|
|
|
mkdir -p $(BUILTINHTMLINNER)
|
2020-01-22 12:58:51 +02:00
|
|
|
$(INDOCX) -from resources/Documentation -xrefs 'inform7/Internal/HTML/xrefs.txt' $(INDOCOPTS)
|
2019-02-05 02:44:07 +02:00
|
|
|
endef
|
|
|
|
|
|
|
|
# (h) Typesetting the HTML pages used to display run-time problem messages
|
|
|
|
|
2019-03-16 15:12:11 +02:00
|
|
|
$(RTPEXEMPLUM): resources/Outcome*Pages/texts.txt resources/Outcome*Pages/*.html
|
2019-02-05 02:44:07 +02:00
|
|
|
$(call make-inapp-outcome-pages)
|
|
|
|
|
|
|
|
define make-inapp-outcome-pages
|
2019-03-16 15:12:11 +02:00
|
|
|
$(INRTPSX) resources/Outcome\ Pages $(BUILTINHTMLINNER) $(INRTPSOPTS)
|
|
|
|
cp -f resources/Outcome\ Pages/pl404.html $(BUILTINHTMLINNER)
|
2019-02-05 02:44:07 +02:00
|
|
|
endef
|
|
|
|
|
2019-03-17 21:45:41 +02:00
|
|
|
endif
|
|
|
|
|
2019-02-05 02:44:07 +02:00
|
|
|
# -----------------------------------------------------------------------------
|