mirror of
https://github.com/ganelson/inform.git
synced 2024-05-17 08:28:42 +03:00
Migrated to new makescript format
This commit is contained in:
parent
913ae66789
commit
bb1bb75578
|
@ -1,6 +1,6 @@
|
|||
# Inform 7
|
||||
|
||||
v10.1.0-alpha.1+6U86 'Krypton' (19 April 2022)
|
||||
v10.1.0-alpha.1+6U87 'Krypton' (22 April 2022)
|
||||
|
||||
## About Inform 7
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Prerelease: alpha.1
|
||||
Build Date: 19 April 2022
|
||||
Build Number: 6U86
|
||||
Build Date: 22 April 2022
|
||||
Build Number: 6U87
|
||||
|
|
73
inblorb/inblorb.mkscript
Normal file
73
inblorb/inblorb.mkscript
Normal file
|
@ -0,0 +1,73 @@
|
|||
# This is "inblorb.mkscript", a script used to generate the makefile "inblorb.mk"
|
||||
# used to build the tool "inblorb". Do not edit "inblorb.mk" directly. Instead,
|
||||
# edit this script, and then rebuild "inblorb.mk" with the command:
|
||||
|
||||
# ../inweb/Tangled/inweb inblorb -makefile inblorb/inblorb.mk
|
||||
|
||||
# (Or simply type "make makers" to make all of the subsidiary makefiles inside the
|
||||
# inform repository, including this one.)
|
||||
|
||||
# See the inweb manual for documentation on the *.mkscript file format, i.e.,
|
||||
# the format in which this file is written. But it is essentially just a makefile
|
||||
# with a number of special macro and loop features whose syntax involves braces
|
||||
# { ... }, so anywhere that you see braces, you're looking at something special
|
||||
# to *.mkscript; anything else is straightforward make syntax.
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
# Note that the resulting makefile expects to be used with the current working
|
||||
# directory set to "inform", _not_ its subdirectory "inform/inblorb". So it
|
||||
# should usually be invoked as e.g. "make -f inblorb/inblorb.mk".
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
{platform-settings}
|
||||
|
||||
{identity-settings}
|
||||
|
||||
BLORBLIB = $(ME)/Tests/Assistants/blorblib
|
||||
|
||||
# Making the program:
|
||||
|
||||
$(ME)/Tangled/$(MYNAME): $(BLORBLIB)/blorbscan {dependent-files}
|
||||
$(call make-me)
|
||||
|
||||
.PHONY: force
|
||||
force:
|
||||
$(call make-me)
|
||||
|
||||
define make-me
|
||||
$(INWEB) $(ME) -tangle
|
||||
{compile from: $(ME)/Tangled/$(ME).c to: $(ME)/Tangled/$(ME).o}
|
||||
{link from: $(ME)/Tangled/$(ME).o to: $(ME)/Tangled/$(ME)$(EXEEXTENSION)}
|
||||
endef
|
||||
|
||||
# Testing the program:
|
||||
|
||||
.PHONY: test
|
||||
test: $(BLORBLIB)/blorbscan
|
||||
$(INTEST) -from $(ME) all
|
||||
|
||||
$(BLORBLIB)/blorbscan: $(BLORBLIB)/*.c $(BLORBLIB)/*.h
|
||||
cd $(BLORBLIB); {compile-indulgently from: blorblib.c to: blorblib.o}
|
||||
cd $(BLORBLIB); {compile-indulgently from: blorbscan.c to: blorbscan.o}
|
||||
cd $(BLORBLIB); {link from: *.o to: blorbscan$(EXEEXTENSION)}
|
||||
|
||||
# Cleaning up:
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
$(call clean-up)
|
||||
|
||||
.PHONY: purge
|
||||
purge:
|
||||
$(call clean-up)
|
||||
rm -f $(ME)/Tangled/$(ME)
|
||||
rm -f $(BLORBLIB)/blorbscan
|
||||
|
||||
define clean-up
|
||||
rm -f $(ME)/Tangled/*.o
|
||||
rm -f $(ME)/Tangled/*.c
|
||||
rm -f $(ME)/Tangled/*.h
|
||||
rm -f $(BLORBLIB)/*.o
|
||||
endef
|
|
@ -1,52 +0,0 @@
|
|||
# This is the script from which inweb -makefile will construct a makefile.
|
||||
|
||||
{platform-settings}
|
||||
|
||||
{identity-settings}
|
||||
|
||||
BLORBLIB = $(ME)/Tests/Assistants/blorblib
|
||||
|
||||
# Making the program:
|
||||
|
||||
$(ME)/Tangled/$(MYNAME): $(BLORBLIB)/blorbscan {dependent-files}
|
||||
$(call make-me)
|
||||
|
||||
.PHONY: force
|
||||
force:
|
||||
$(call make-me)
|
||||
|
||||
define make-me
|
||||
$(INWEB) $(ME) -tangle
|
||||
$(CC) -o $(ME)/Tangled/$(ME).o $(ME)/Tangled/$(ME).c
|
||||
$(LINK) -o $(ME)/Tangled/$(ME)$(EXEEXTENSION) $(ME)/Tangled/$(ME).o $(LINKEROPTS)
|
||||
endef
|
||||
|
||||
# Testing the program:
|
||||
|
||||
.PHONY: test
|
||||
test: $(BLORBLIB)/blorbscan
|
||||
$(INTEST) -from $(ME) all
|
||||
|
||||
$(BLORBLIB)/blorbscan: $(BLORBLIB)/*.c $(BLORBLIB)/*.h
|
||||
cd $(BLORBLIB); $(INDULGENTCC) blorblib.c
|
||||
cd $(BLORBLIB); $(INDULGENTCC) blorbscan.c
|
||||
cd $(BLORBLIB); $(LINK) -o blorbscan$(EXEEXTENSION) *.o $(LINKEROPTS)
|
||||
|
||||
# Cleaning up:
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
$(call clean-up)
|
||||
|
||||
.PHONY: purge
|
||||
purge:
|
||||
$(call clean-up)
|
||||
rm -f $(ME)/Tangled/$(ME)
|
||||
rm -f $(BLORBLIB)/blorbscan
|
||||
|
||||
define clean-up
|
||||
rm -f $(ME)/Tangled/*.o
|
||||
rm -f $(ME)/Tangled/*.c
|
||||
rm -f $(ME)/Tangled/*.h
|
||||
rm -f $(BLORBLIB)/*.o
|
||||
endef
|
155
inform6/inform6.mkscript
Normal file
155
inform6/inform6.mkscript
Normal file
|
@ -0,0 +1,155 @@
|
|||
# This is "inform6.mkscript", a script used to generate the makefile "inform6.mk"
|
||||
# used to build the tool "inform6". Do not edit "inform6.mk" directly. Instead,
|
||||
# edit this script, and then rebuild "inform6.mk" with the command:
|
||||
|
||||
# ../inweb/Tangled/inweb inform6 -makefile inform6/inform6.mk
|
||||
|
||||
# (Or simply type "make makers" to make all of the subsidiary makefiles inside the
|
||||
# inform repository, including this one.)
|
||||
|
||||
# See the inweb manual for documentation on the *.mkscript file format, i.e.,
|
||||
# the format in which this file is written. But it is essentially just a makefile
|
||||
# with a number of special macro and loop features whose syntax involves braces
|
||||
# { ... }, so anywhere that you see braces, you're looking at something special
|
||||
# to *.mkscript; anything else is straightforward make syntax.
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
# Note that the resulting makefile expects to be used with the current working
|
||||
# directory set to "inform", _not_ its subdirectory "inform/inform6". So it
|
||||
# should usually be invoked as e.g. "make -f inform6/inform6.mk".
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
{platform-settings}
|
||||
|
||||
ME = inform6
|
||||
INTEST = ../intest/Tangled/intest
|
||||
SANDBOX = $(ME)/Inform6
|
||||
INTERPRETERS = $(ME)/Tests/Assistants
|
||||
|
||||
# Making the program:
|
||||
|
||||
I6SOURCE = \
|
||||
$(SANDBOX)/arrays.o $(SANDBOX)/asm.o $(SANDBOX)/bpatch.o $(SANDBOX)/chars.o \
|
||||
$(SANDBOX)/directs.o $(SANDBOX)/errors.o $(SANDBOX)/expressc.o $(SANDBOX)/expressp.o \
|
||||
$(SANDBOX)/files.o $(SANDBOX)/inform.o $(SANDBOX)/lexer.o $(SANDBOX)/linker.o \
|
||||
$(SANDBOX)/memory.o $(SANDBOX)/objects.o $(SANDBOX)/states.o $(SANDBOX)/symbols.o \
|
||||
$(SANDBOX)/syntax.o $(SANDBOX)/tables.o $(SANDBOX)/text.o $(SANDBOX)/veneer.o \
|
||||
$(SANDBOX)/verbs.o
|
||||
|
||||
$(ME)/Tangled/$(ME): $(SANDBOX)/*.c $(SANDBOX)/*.h
|
||||
$(call make-me)
|
||||
|
||||
.PHONY: force
|
||||
force:
|
||||
$(call make-me)
|
||||
|
||||
define make-me
|
||||
cd $(SANDBOX); {compile-indulgently from: arrays.c to: arrays.o options: -D$(INFORM6OS)}
|
||||
cd $(SANDBOX); {compile-indulgently from: asm.c to: asm.o options: -D$(INFORM6OS)}
|
||||
cd $(SANDBOX); {compile-indulgently from: bpatch.c to: bpatch.o options: -D$(INFORM6OS)}
|
||||
cd $(SANDBOX); {compile-indulgently from: chars.c to: chars.o options: -D$(INFORM6OS)}
|
||||
cd $(SANDBOX); {compile-indulgently from: directs.c to: directs.o options: -D$(INFORM6OS)}
|
||||
cd $(SANDBOX); {compile-indulgently from: errors.c to: errors.o options: -D$(INFORM6OS)}
|
||||
cd $(SANDBOX); {compile-indulgently from: expressc.c to: expressc.o options: -D$(INFORM6OS)}
|
||||
cd $(SANDBOX); {compile-indulgently from: expressp.c to: expressp.o options: -D$(INFORM6OS)}
|
||||
cd $(SANDBOX); {compile-indulgently from: files.c to: files.o options: -D$(INFORM6OS)}
|
||||
cd $(SANDBOX); {compile-indulgently from: inform.c to: inform.o options: -D$(INFORM6OS)}
|
||||
cd $(SANDBOX); {compile-indulgently from: lexer.c to: lexer.o options: -D$(INFORM6OS)}
|
||||
cd $(SANDBOX); {compile-indulgently from: linker.c to: linker.o options: -D$(INFORM6OS)}
|
||||
cd $(SANDBOX); {compile-indulgently from: memory.c to: memory.o options: -D$(INFORM6OS)}
|
||||
cd $(SANDBOX); {compile-indulgently from: objects.c to: objects.o options: -D$(INFORM6OS)}
|
||||
cd $(SANDBOX); {compile-indulgently from: states.c to: states.o options: -D$(INFORM6OS)}
|
||||
cd $(SANDBOX); {compile-indulgently from: symbols.c to: symbols.o options: -D$(INFORM6OS)}
|
||||
cd $(SANDBOX); {compile-indulgently from: syntax.c to: syntax.o options: -D$(INFORM6OS)}
|
||||
cd $(SANDBOX); {compile-indulgently from: tables.c to: tables.o options: -D$(INFORM6OS)}
|
||||
cd $(SANDBOX); {compile-indulgently from: text.c to: text.o options: -D$(INFORM6OS)}
|
||||
cd $(SANDBOX); {compile-indulgently from: veneer.c to: veneer.o options: -D$(INFORM6OS)}
|
||||
cd $(SANDBOX); {compile-indulgently from: verbs.c to: verbs.o options: -D$(INFORM6OS)}
|
||||
{link from: $(I6SOURCE) to: $(ME)/Tangled/$(ME)$(EXEEXTENSION)}
|
||||
endef
|
||||
|
||||
# Testing the program:
|
||||
|
||||
.PHONY: test
|
||||
test: $(INTERPRETERS)/dumb-frotz/dumb-frotz $(INTERPRETERS)/dumb-glulx/glulxe/glulxe
|
||||
$(INTEST) -from $(ME) all
|
||||
|
||||
.PHONY: interpreters
|
||||
interpreters: $(INTERPRETERS)/dumb-frotz/dumb-frotz $(INTERPRETERS)/dumb-glulx/glulxe/glulxe
|
||||
|
||||
# "dumb-frotz" is a Z-machine interpreter and is used in development to test
|
||||
# that story files in Z format perform as intended. It's written in old C,
|
||||
# and is dumb in the sense that it uses a dumb terminal.
|
||||
|
||||
GLKLIB = libcheapglk.a
|
||||
GLKINCLUDEDIR = ../cheapglk
|
||||
GLKLIBDIR = ../cheapglk
|
||||
GLKMAKEFILE = Make.cheapglk
|
||||
|
||||
CHEAPGLK_OBJS = \
|
||||
cgfref.o cggestal.o cgmisc.o cgstream.o cgstyle.o cgwindow.o cgschan.o \
|
||||
cgunicod.o main.o gi_dispa.o gi_blorb.o cgblorb.o
|
||||
|
||||
GLULXE_OBJS = main.o files.o vm.o exec.o float.o funcs.o operand.o string.o glkop.o \
|
||||
heap.o serial.o search.o gestalt.o osdepend.o unixstrt.o accel.o profile.o
|
||||
|
||||
CHEAPGLK_HEADERS = cheapglk.h gi_dispa.h
|
||||
|
||||
$(INTERPRETERS)/dumb-frotz/dumb-frotz: \
|
||||
$(INTERPRETERS)/dumb-frotz/*.c \
|
||||
$(INTERPRETERS)/dumb-frotz/*.h
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: buffer.c to: buffer.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: dumb-init.c to: dumb-init.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: dumb-input.c to: dumb-input.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: dumb-output.c to: dumb-output.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: dumb-pic.c to: dumb-pic.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: fastmem.c to: fastmem.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: files.c to: files.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: hotkey.c to: hotkey.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: input.c to: input.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: math.c to: math.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: object.c to: object.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: process.c to: process.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: random.c to: random.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: redirect.c to: redirect.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: screen.c to: screen.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: sound.c to: sound.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: stream.c to: stream.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: table.c to: table.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: text.c to: text.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: variable.c to: variable.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: profiling.c to: profiling.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {compile-indulgently from: main.c to: main.o}
|
||||
cd $(INTERPRETERS)/dumb-frotz; {link from: *.o to: dumb-frotz$(EXEEXTENSION)}
|
||||
|
||||
# "dumb-glulxe" is the analogous thing for Glulx-format story files.
|
||||
|
||||
$(INTERPRETERS)/dumb-glulx/glulxe/glulxe: \
|
||||
$(INTERPRETERS)/dumb-glulx/cheapglk/*.c \
|
||||
$(INTERPRETERS)/dumb-glulx/cheapglk/*.h \
|
||||
$(INTERPRETERS)/dumb-glulx/glulxe/*.c \
|
||||
$(INTERPRETERS)/dumb-glulx/glulxe/*.h
|
||||
cd $(INTERPRETERS)/dumb-glulx/cheapglk; make
|
||||
cd $(INTERPRETERS)/dumb-glulx/glulxe; make
|
||||
|
||||
# Cleaning up:
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
$(call clean-up)
|
||||
|
||||
.PHONY: purge
|
||||
purge:
|
||||
$(call clean-up)
|
||||
rm -f $(ME)/Tangled/$(ME)
|
||||
rm -f $(INTERPRETERS)/dumb-frotz/dumb-frotz
|
||||
rm -f $(INTERPRETERS)/dumb-glulx/glulxe/glulxe
|
||||
|
||||
define clean-up
|
||||
rm -f $(SANDBOX)/*.o
|
||||
rm -f $(INTERPRETERS)/dumb-frotz/*.o
|
||||
rm -f $(INTERPRETERS)/dumb-glulx/glulxe/*.o
|
||||
rm -f $(INTERPRETERS)/dumb-glulx/cheapglk/*.o
|
||||
endef
|
|
@ -1,115 +0,0 @@
|
|||
# This is the script from which inweb -makefile will construct a makefile
|
||||
# for inform6, which is (uniquely for the Inform tools) not a web.
|
||||
|
||||
{platform-settings}
|
||||
|
||||
ME = inform6
|
||||
INTEST = ../intest/Tangled/intest
|
||||
SANDBOX = $(ME)/Inform6
|
||||
INTERPRETERS = $(ME)/Tests/Assistants
|
||||
|
||||
# Making the program:
|
||||
|
||||
I6SOURCE = \
|
||||
$(SANDBOX)/arrays.o $(SANDBOX)/asm.o $(SANDBOX)/bpatch.o $(SANDBOX)/chars.o \
|
||||
$(SANDBOX)/directs.o $(SANDBOX)/errors.o $(SANDBOX)/expressc.o $(SANDBOX)/expressp.o \
|
||||
$(SANDBOX)/files.o $(SANDBOX)/inform.o $(SANDBOX)/lexer.o $(SANDBOX)/linker.o \
|
||||
$(SANDBOX)/memory.o $(SANDBOX)/objects.o $(SANDBOX)/states.o $(SANDBOX)/symbols.o \
|
||||
$(SANDBOX)/syntax.o $(SANDBOX)/tables.o $(SANDBOX)/text.o $(SANDBOX)/veneer.o \
|
||||
$(SANDBOX)/verbs.o
|
||||
|
||||
$(ME)/Tangled/$(ME): $(SANDBOX)/*.c $(SANDBOX)/*.h
|
||||
$(call make-me)
|
||||
|
||||
.PHONY: force
|
||||
force:
|
||||
$(call make-me)
|
||||
|
||||
define make-me
|
||||
cd $(SANDBOX); $(INDULGENTCC) -std=c99 *.c -D$(INFORM6OS)
|
||||
$(LINK) -o $(ME)/Tangled/$(ME)$(EXEEXTENSION) $(I6SOURCE) $(LINKEROPTS)
|
||||
endef
|
||||
|
||||
# Testing the program:
|
||||
|
||||
.PHONY: test
|
||||
test: $(INTERPRETERS)/dumb-frotz/dumb-frotz $(INTERPRETERS)/dumb-glulx/glulxe/glulxe
|
||||
$(INTEST) -from $(ME) all
|
||||
|
||||
.PHONY: interpreters
|
||||
interpreters: $(INTERPRETERS)/dumb-frotz/dumb-frotz $(INTERPRETERS)/dumb-glulx/glulxe/glulxe
|
||||
|
||||
# "dumb-frotz" is a Z-machine interpreter and is used in development to test
|
||||
# that story files in Z format perform as intended. It's written in old C,
|
||||
# and is dumb in the sense that it uses a dumb terminal.
|
||||
|
||||
GLKLIB = libcheapglk.a
|
||||
GLKINCLUDEDIR = ../cheapglk
|
||||
GLKLIBDIR = ../cheapglk
|
||||
GLKMAKEFILE = Make.cheapglk
|
||||
|
||||
CHEAPGLK_OBJS = \
|
||||
cgfref.o cggestal.o cgmisc.o cgstream.o cgstyle.o cgwindow.o cgschan.o \
|
||||
cgunicod.o main.o gi_dispa.o gi_blorb.o cgblorb.o
|
||||
|
||||
GLULXE_OBJS = main.o files.o vm.o exec.o float.o funcs.o operand.o string.o glkop.o \
|
||||
heap.o serial.o search.o gestalt.o osdepend.o unixstrt.o accel.o profile.o
|
||||
|
||||
CHEAPGLK_HEADERS = cheapglk.h gi_dispa.h
|
||||
|
||||
$(INTERPRETERS)/dumb-frotz/dumb-frotz: \
|
||||
$(INTERPRETERS)/dumb-frotz/*.c \
|
||||
$(INTERPRETERS)/dumb-frotz/*.h
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) buffer.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) dumb-init.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) dumb-input.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) dumb-output.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) dumb-pic.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) fastmem.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) files.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) hotkey.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) input.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) math.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) object.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) process.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) random.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) redirect.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) screen.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) sound.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) stream.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) table.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) text.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) variable.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) profiling.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(INDULGENTCC) main.c
|
||||
cd $(INTERPRETERS)/dumb-frotz; $(LINK) -o dumb-frotz$(EXEEXTENSION) *.o $(LINKEROPTS)
|
||||
|
||||
# "dumb-glulxe" is the analogous thing for Glulx-format story files.
|
||||
|
||||
$(INTERPRETERS)/dumb-glulx/glulxe/glulxe: \
|
||||
$(INTERPRETERS)/dumb-glulx/cheapglk/*.c \
|
||||
$(INTERPRETERS)/dumb-glulx/cheapglk/*.h \
|
||||
$(INTERPRETERS)/dumb-glulx/glulxe/*.c \
|
||||
$(INTERPRETERS)/dumb-glulx/glulxe/*.h
|
||||
cd $(INTERPRETERS)/dumb-glulx/cheapglk; make
|
||||
cd $(INTERPRETERS)/dumb-glulx/glulxe; make
|
||||
|
||||
# Cleaning up:
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
$(call clean-up)
|
||||
|
||||
.PHONY: purge
|
||||
purge:
|
||||
$(call clean-up)
|
||||
rm -f $(ME)/Tangled/$(ME)
|
||||
rm -f $(INTERPRETERS)/dumb-frotz/dumb-frotz
|
||||
rm -f $(INTERPRETERS)/dumb-glulx/glulxe/glulxe
|
||||
|
||||
define clean-up
|
||||
rm -f $(SANDBOX)/*.o
|
||||
rm -f $(INTERPRETERS)/dumb-frotz/*.o
|
||||
rm -f $(INTERPRETERS)/dumb-glulx/glulxe/*.o
|
||||
rm -f $(INTERPRETERS)/dumb-glulx/cheapglk/*.o
|
||||
endef
|
|
@ -1,47 +1,47 @@
|
|||
Total memory consumption was 129371K = 126 MB
|
||||
Total memory consumption was 123288K = 120 MB
|
||||
|
||||
---- was used for 2043757 objects, in 362472 frames in 0 x 800K = 0K = 0 MB:
|
||||
|
||||
31.5% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes
|
||||
19.5% text_stream_array 4600 x 100 = 460000 objects, 25907200 bytes
|
||||
18.3% linked_list 43442 objects, 24327520 bytes
|
||||
10.6% inter_symbol_array 132 x 1024 = 135168 objects, 14061696 bytes
|
||||
9.9% inter_error_stash_array 101 x 1024 = 103424 objects, 13241504 bytes
|
||||
7.8% parse_node 129584 objects, 10366720 bytes
|
||||
5.6% verb_conjugation 160 objects, 7425280 bytes
|
||||
4.1% parse_node_annotation_array 346 x 500 = 173000 objects, 5547072 bytes
|
||||
2.5% pcalc_prop_array 25 x 1000 = 25000 objects, 3400800 bytes
|
||||
2.4% inter_name_array 67 x 1000 = 67000 objects, 3218144 bytes
|
||||
1.9% kind_array 66 x 1000 = 66000 objects, 2642112 bytes
|
||||
1.5% inter_name_generator_array 51 x 1000 = 51000 objects, 2041632 bytes
|
||||
33.1% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes
|
||||
20.5% text_stream_array 4600 x 100 = 460000 objects, 25907200 bytes
|
||||
19.2% linked_list 43442 objects, 24327520 bytes
|
||||
11.1% inter_symbol_array 132 x 1024 = 135168 objects, 14061696 bytes
|
||||
10.4% inter_error_stash_array 101 x 1024 = 103424 objects, 13241504 bytes
|
||||
8.2% parse_node 129584 objects, 10366720 bytes
|
||||
5.8% verb_conjugation 160 objects, 7425280 bytes
|
||||
4.3% parse_node_annotation_array 346 x 500 = 173000 objects, 5547072 bytes
|
||||
2.6% pcalc_prop_array 25 x 1000 = 25000 objects, 3400800 bytes
|
||||
2.5% inter_name_array 67 x 1000 = 67000 objects, 3218144 bytes
|
||||
2.0% kind_array 66 x 1000 = 66000 objects, 2642112 bytes
|
||||
1.6% inter_name_generator_array 51 x 1000 = 51000 objects, 2041632 bytes
|
||||
1.5% inter_schema_token 13964 objects, 2010816 bytes
|
||||
1.4% package_request 21151 objects, 1861288 bytes
|
||||
1.3% vocabulary_entry_array 161 x 100 = 16100 objects, 1808352 bytes
|
||||
1.4% vocabulary_entry_array 161 x 100 = 16100 objects, 1808352 bytes
|
||||
1.1% dict_entry_array 467 x 100 = 46700 objects, 1509344 bytes
|
||||
1.1% match_trie_array 11 x 1000 = 11000 objects, 1496352 bytes
|
||||
1.1% inter_symbols_table 26588 objects, 1488928 bytes
|
||||
1.0% i6_schema_array 23 x 100 = 2300 objects, 1380736 bytes
|
||||
0.9% inter_package 26588 objects, 1276224 bytes
|
||||
1.0% inter_package 26588 objects, 1276224 bytes
|
||||
0.8% map_data 670 objects, 1125600 bytes
|
||||
0.8% id_body 942 objects, 1077648 bytes
|
||||
0.7% adjective_meaning 202 objects, 1000304 bytes
|
||||
0.7% excerpt_meaning 3101 objects, 967512 bytes
|
||||
0.6% production 3877 objects, 899464 bytes
|
||||
0.7% production 3877 objects, 899464 bytes
|
||||
0.6% ptoken 8394 objects, 872976 bytes
|
||||
0.6% grammatical_usage 3612 objects, 866880 bytes
|
||||
0.6% individual_form 2562 objects, 860832 bytes
|
||||
0.6% inter_schema_node 8917 objects, 856032 bytes
|
||||
0.4% unary_predicate_array 16 x 1000 = 16000 objects, 640512 bytes
|
||||
0.5% unary_predicate_array 16 x 1000 = 16000 objects, 640512 bytes
|
||||
0.3% scan_directory 112 objects, 462336 bytes
|
||||
0.3% local_variable_array 47 x 100 = 4700 objects, 452704 bytes
|
||||
0.2% verb_usage 1128 objects, 388032 bytes
|
||||
0.3% verb_usage 1128 objects, 388032 bytes
|
||||
0.2% rule 470 objects, 368480 bytes
|
||||
0.2% dictionary 7517 objects, 360816 bytes
|
||||
0.2% verb_form 386 objects, 348944 bytes
|
||||
0.2% noun 2381 objects, 285720 bytes
|
||||
0.2% compilation_subtask 3349 objects, 267920 bytes
|
||||
0.1% inter_annotation_array 2 x 8192 = 16384 objects, 262208 bytes
|
||||
0.1% inference_subject 665 objects, 260680 bytes
|
||||
0.2% inter_annotation_array 2 x 8192 = 16384 objects, 262208 bytes
|
||||
0.2% inference_subject 665 objects, 260680 bytes
|
||||
0.1% vanilla_function 3682 objects, 235648 bytes
|
||||
0.1% binary_predicate 321 objects, 169488 bytes
|
||||
0.1% hierarchy_location 1122 objects, 161568 bytes
|
||||
|
@ -237,23 +237,23 @@ Total memory consumption was 129371K = 126 MB
|
|||
|
||||
100.0% was used for memory not allocated for objects:
|
||||
|
||||
59.6% text stream storage 79084436 bytes in 477957 claims
|
||||
3.9% dictionary storage 5227008 bytes in 7517 claims
|
||||
57.7% text stream storage 72855396 bytes in 477507 claims
|
||||
4.1% dictionary storage 5227008 bytes in 7517 claims
|
||||
---- sorting 1448 bytes in 145 claims
|
||||
5.4% source text 7200000 bytes in 3 claims
|
||||
8.1% source text details 10800000 bytes in 2 claims
|
||||
0.1% documentation fragments 262144 bytes in 1 claim
|
||||
5.7% source text 7200000 bytes in 3 claims
|
||||
8.5% source text details 10800000 bytes in 2 claims
|
||||
0.2% documentation fragments 262144 bytes in 1 claim
|
||||
---- linguistic stock array 81920 bytes in 2 claims
|
||||
---- small word set array 105600 bytes in 22 claims
|
||||
3.4% inter symbols storage 4518768 bytes in 27943 claims
|
||||
12.6% inter bytecode storage 16766048 bytes in 14 claims
|
||||
4.6% inter links storage 6222976 bytes in 11 claims
|
||||
3.5% inter symbols storage 4518768 bytes in 27943 claims
|
||||
13.2% inter bytecode storage 16766048 bytes in 14 claims
|
||||
4.9% inter links storage 6222976 bytes in 11 claims
|
||||
0.1% inter tree location list storage 191232 bytes in 32 claims
|
||||
1.2% instance-of-kind counting 1695204 bytes in 1 claim
|
||||
1.3% instance-of-kind counting 1695204 bytes in 1 claim
|
||||
---- compilation workspace for objects 21856 bytes in 25 claims
|
||||
---- lists for type-checking invocations 16000 bytes in 1 claim
|
||||
---- code generation workspace for objects 1336 bytes in 4 claims
|
||||
0.2% emitter array storage 280032 bytes in 1997 claims
|
||||
|
||||
-138.-6% was overhead - -183740600 bytes = -179434K = -175 MB
|
||||
-145.-5% was overhead - -183740600 bytes = -179434K = -175 MB
|
||||
|
||||
|
|
|
@ -1,33 +1,37 @@
|
|||
100.0% in inform7 run
|
||||
71.1% in compilation to Inter
|
||||
49.4% in //Sequence::undertake_queued_tasks//
|
||||
70.5% in compilation to Inter
|
||||
50.1% in //Sequence::undertake_queued_tasks//
|
||||
4.7% in //MajorNodes::pre_pass//
|
||||
3.5% in //MajorNodes::pass_1//
|
||||
2.5% in //RTPhrasebook::compile_entries//
|
||||
1.7% in //ImperativeDefinitions::assess_all//
|
||||
3.4% in //MajorNodes::pass_1//
|
||||
1.9% in //ImperativeDefinitions::assess_all//
|
||||
1.7% in //RTPhrasebook::compile_entries//
|
||||
1.5% in //RTKindConstructors::compile//
|
||||
0.9% in //Sequence::lint_inter//
|
||||
0.5% in //MajorNodes::pass_2//
|
||||
0.5% in //Sequence::undertake_queued_tasks//
|
||||
0.5% in //World::stage_V//
|
||||
0.3% in //ImperativeDefinitions::compile_first_block//
|
||||
0.3% in //Sequence::undertake_queued_tasks//
|
||||
0.1% in //CompletionModule::compile//
|
||||
0.1% in //InferenceSubjects::emit_all//
|
||||
0.1% in //RTKindConstructors::compile_permissions//
|
||||
1.1% in //Sequence::lint_inter//
|
||||
0.6% in //MajorNodes::pass_2//
|
||||
0.6% in //World::stage_V//
|
||||
0.4% in //ImperativeDefinitions::compile_first_block//
|
||||
0.4% in //Sequence::undertake_queued_tasks//
|
||||
0.4% in //Sequence::undertake_queued_tasks//
|
||||
0.2% in //CompletionModule::compile//
|
||||
0.2% in //InferenceSubjects::emit_all//
|
||||
0.2% in //RTKindConstructors::compile_permissions//
|
||||
0.1% in //Task::make_built_in_kind_constructors//
|
||||
0.1% in //Understand::traverse//
|
||||
0.1% in //World::stages_II_and_III//
|
||||
3.0% not specifically accounted for
|
||||
26.0% in running Inter pipeline
|
||||
10.4% in step 14/15: generate inform6 -> auto.inf
|
||||
5.7% in step 5/15: load-binary-kits
|
||||
5.5% in step 6/15: make-synoptic-module
|
||||
1.3% in step 9/15: make-identifiers-unique
|
||||
0.3% in step 12/15: eliminate-redundant-operations
|
||||
0.3% in step 4/15: compile-splats
|
||||
0.3% in step 7/15: shorten-wiring
|
||||
2.0% not specifically accounted for
|
||||
26.7% in running Inter pipeline
|
||||
10.3% in step 14/15: generate inform6 -> auto.inf
|
||||
5.8% in step 5/15: load-binary-kits
|
||||
5.7% in step 6/15: make-synoptic-module
|
||||
1.5% in step 9/15: make-identifiers-unique
|
||||
0.4% in step 12/15: eliminate-redundant-operations
|
||||
0.4% in step 4/15: compile-splats
|
||||
0.4% in step 7/15: shorten-wiring
|
||||
0.3% in step 8/15: detect-indirect-calls
|
||||
0.1% in step 11/15: eliminate-redundant-labels
|
||||
1.1% not specifically accounted for
|
||||
0.2% in step 11/15: eliminate-redundant-labels
|
||||
0.1% in step 10/15: reconcile-verbs
|
||||
0.1% in step 2/15: parse-insertions
|
||||
0.1% in step 3/15: resolve-conditional-compilation
|
||||
0.7% not specifically accounted for
|
||||
2.3% in supervisor
|
||||
0.4% not specifically accounted for
|
||||
|
|
85
inform7/inform7.mkscript
Normal file
85
inform7/inform7.mkscript
Normal file
|
@ -0,0 +1,85 @@
|
|||
# This is "inform7.mkscript", a script used to generate the makefile "inform7.mk"
|
||||
# used to build the tool "inform7". Do not edit "inform7.mk" directly. Instead,
|
||||
# edit this script, and then rebuild "inform7.mk" with the command:
|
||||
|
||||
# ../inweb/Tangled/inweb inform7 -makefile inform7/inform7.mk
|
||||
|
||||
# (Or simply type "make makers" to make all of the subsidiary makefiles inside the
|
||||
# inform repository, including this one.)
|
||||
|
||||
# See the inweb manual for documentation on the *.mkscript file format, i.e.,
|
||||
# the format in which this file is written. But it is essentially just a makefile
|
||||
# with a number of special macro and loop features whose syntax involves braces
|
||||
# { ... }, so anywhere that you see braces, you're looking at something special
|
||||
# to *.mkscript; anything else is straightforward make syntax.
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
# Note that the resulting makefile expects to be used with the current working
|
||||
# directory set to "inform", _not_ its subdirectory "inform/inform7". So it
|
||||
# should usually be invoked as e.g. "make -f inform7/inform7.mk".
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
{platform-settings}
|
||||
|
||||
{identity-settings}
|
||||
|
||||
BLORBLIB = $(ME)/Tests/Assistants/blorblib
|
||||
INTER = inter/Tangled/inter
|
||||
|
||||
.PHONY: all
|
||||
all: executable preform
|
||||
|
||||
.PHONY: executable
|
||||
executable: $(ME)/Tangled/$(MYNAME)
|
||||
|
||||
.PHONY: preform
|
||||
preform: $(ME)/Tangled/Syntax.preform
|
||||
|
||||
# Making the program:
|
||||
|
||||
$(ME)/Tangled/$(MYNAME): {dependent-files}
|
||||
$(call make-me)
|
||||
|
||||
$(ME)/TangledSyntax.preform:
|
||||
$(call make-me)
|
||||
|
||||
.PHONY: force
|
||||
force:
|
||||
$(call make-me)
|
||||
|
||||
define make-me
|
||||
$(INWEB) $(ME) -import-from modules -tangle
|
||||
{compile from: $(ME)/Tangled/$(ME).c to: $(ME)/Tangled/$(ME).o}
|
||||
{link from: $(ME)/Tangled/$(ME).o to: $(ME)/Tangled/$(ME)$(EXEEXTENSION)}
|
||||
endef
|
||||
|
||||
# Testing the program:
|
||||
|
||||
.PHONY: test
|
||||
test:
|
||||
$(INTEST) -from $(ME) all
|
||||
|
||||
# Cleaning up:
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
$(call clean-up)
|
||||
|
||||
.PHONY: purge
|
||||
purge:
|
||||
$(call clean-up)
|
||||
rm -f $(ME)/Tangled/$(ME)
|
||||
|
||||
define clean-up
|
||||
rm -f $(ME)/Tangled/*.o
|
||||
rm -f $(ME)/Tangled/*.c
|
||||
rm -f $(ME)/Tangled/*.h
|
||||
rm -f $(ME)/Tests/Test\ Cases/_Results_Actual/*.txt
|
||||
rm -f $(ME)/Tests/Test\ Extensions/_Results_Actual/*.txt
|
||||
rm -f $(ME)/Tests/Test\ Index/_Results_Actual/*.txt
|
||||
rm -f $(ME)/Tests/Test\ Maps/_Results_Actual/*.txt
|
||||
rm -f $(ME)/Tests/Test\ Problems/_Results_Actual/*.txt
|
||||
rm -f Documentation/Examples/_Results_Actual/*.txt
|
||||
endef
|
|
@ -1,64 +0,0 @@
|
|||
# This is the script from which inweb -makefile will construct a makefile.
|
||||
|
||||
{platform-settings}
|
||||
|
||||
{identity-settings}
|
||||
|
||||
BLORBLIB = $(ME)/Tests/Assistants/blorblib
|
||||
INTER = inter/Tangled/inter
|
||||
|
||||
.PHONY: all
|
||||
all: executable preform
|
||||
|
||||
.PHONY: executable
|
||||
executable: $(ME)/Tangled/$(MYNAME)
|
||||
|
||||
.PHONY: preform
|
||||
preform: $(ME)/Tangled/Syntax.preform
|
||||
|
||||
# Making the program:
|
||||
|
||||
$(ME)/Tangled/$(MYNAME): {dependent-files}
|
||||
$(call make-me)
|
||||
|
||||
$(ME)/TangledSyntax.preform:
|
||||
$(call make-me)
|
||||
|
||||
.PHONY: force
|
||||
force:
|
||||
$(call make-me)
|
||||
|
||||
define make-me
|
||||
$(INWEB) $(ME) -import-from modules -tangle
|
||||
$(CC) -o $(ME)/Tangled/$(ME).o $(ME)/Tangled/$(ME).c
|
||||
$(LINK) -o $(ME)/Tangled/$(ME)$(EXEEXTENSION) $(ME)/Tangled/$(ME).o $(LINKEROPTS)
|
||||
endef
|
||||
|
||||
# Testing the program:
|
||||
|
||||
.PHONY: test
|
||||
test:
|
||||
$(INTEST) -from $(ME) all
|
||||
|
||||
# Cleaning up:
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
$(call clean-up)
|
||||
|
||||
.PHONY: purge
|
||||
purge:
|
||||
$(call clean-up)
|
||||
rm -f $(ME)/Tangled/$(ME)
|
||||
|
||||
define clean-up
|
||||
rm -f $(ME)/Tangled/*.o
|
||||
rm -f $(ME)/Tangled/*.c
|
||||
rm -f $(ME)/Tangled/*.h
|
||||
rm -f $(ME)/Tests/Test\ Cases/_Results_Actual/*.txt
|
||||
rm -f $(ME)/Tests/Test\ Extensions/_Results_Actual/*.txt
|
||||
rm -f $(ME)/Tests/Test\ Index/_Results_Actual/*.txt
|
||||
rm -f $(ME)/Tests/Test\ Maps/_Results_Actual/*.txt
|
||||
rm -f $(ME)/Tests/Test\ Problems/_Results_Actual/*.txt
|
||||
rm -f Documentation/Examples/_Results_Actual/*.txt
|
||||
endef
|
|
@ -1,29 +0,0 @@
|
|||
{platform-settings}
|
||||
|
||||
.PHONY: all
|
||||
|
||||
all: retrospective/6L02/cBlorb retrospective/6L02/ni retrospective/6L38/cBlorb retrospective/6L38/ni retrospective/6M62/cBlorb retrospective/6M62/ni
|
||||
|
||||
retrospective/6L02/cBlorb:
|
||||
$(INDULGENTCC) -o retrospective/6L02/cBlorb.o retrospective/6L02/cBlorb.c
|
||||
$(LINK) -o retrospective/6L02/cBlorb retrospective/6L02/cBlorb.o $(LINKEROPTS)
|
||||
|
||||
retrospective/6L38/cBlorb:
|
||||
$(INDULGENTCC) -o retrospective/6L38/cBlorb.o retrospective/6L38/cBlorb.c
|
||||
$(LINK) -o retrospective/6L38/cBlorb retrospective/6L38/cBlorb.o $(LINKEROPTS)
|
||||
|
||||
retrospective/6M62/cBlorb:
|
||||
$(INDULGENTCC) -o retrospective/6M62/cBlorb.o retrospective/6M62/cBlorb.c
|
||||
$(LINK) -o retrospective/6M62/cBlorb retrospective/6M62/cBlorb.o $(LINKEROPTS)
|
||||
|
||||
retrospective/6L02/ni:
|
||||
$(INDULGENTCC) -o retrospective/6L02/ni.o retrospective/6L02/ni.c
|
||||
$(LINK) -o retrospective/6L02/ni retrospective/6L02/ni.o $(LINKEROPTS)
|
||||
|
||||
retrospective/6L38/ni:
|
||||
$(INDULGENTCC) -o retrospective/6L38/ni.o retrospective/6L38/ni.c
|
||||
$(LINK) -o retrospective/6L38/ni retrospective/6L38/ni.o $(LINKEROPTS)
|
||||
|
||||
retrospective/6M62/ni:
|
||||
$(INDULGENTCC) -o retrospective/6M62/ni.o retrospective/6M62/ni.c
|
||||
$(LINK) -o retrospective/6M62/ni retrospective/6M62/ni.o $(LINKEROPTS)
|
48
retrospective/retrospective.mkscript
Normal file
48
retrospective/retrospective.mkscript
Normal file
|
@ -0,0 +1,48 @@
|
|||
# This is "retrospective.mkscript", a script used to generate "retrospective.mk"
|
||||
# which is used to build the old-time versions of the Inform tools stored in the
|
||||
# "inform/retrospective" directory. Do not edit "retrospective.mk" directly.
|
||||
# Instead, edit this script, and then rebuild "retrospective.mk" with the command:
|
||||
|
||||
# ../inweb/Tangled/inweb -prototype retrospective/retrospective.mkscript -makefile retrospective/retrospective.mk
|
||||
|
||||
# (Or simply type "make makers" to make all of the subsidiary makefiles inside the
|
||||
# inform repository, including this one.)
|
||||
|
||||
# See the inweb manual for documentation on the *.mkscript file format, i.e.,
|
||||
# the format in which this file is written. But it is essentially just a makefile
|
||||
# with a number of special macro and loop features whose syntax involves braces
|
||||
# { ... }, so anywhere that you see braces, you're looking at something special
|
||||
# to *.mkscript; anything else is straightforward make syntax.
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
# Note that the resulting makefile expects to be used with the current working
|
||||
# directory set to "inform/retrospective". So it can then be invoked just as "make".
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
{platform-settings}
|
||||
|
||||
{define: retro-targets build: BUILD}
|
||||
retrospective/{BUILD}/cBlorb:
|
||||
{compile-indulgently from: retrospective/{BUILD}/cBlorb.c to: retrospective/{BUILD}/cBlorb.o }
|
||||
{link from: retrospective/{BUILD}/cBlorb.o to: retrospective/{BUILD}/cBlorb$(EXEEXTENSION) }
|
||||
|
||||
retrospective/{BUILD}/ni:
|
||||
{compile-indulgently from: retrospective/{BUILD}/ni.c to: retrospective/{BUILD}/ni.o }
|
||||
{link from: retrospective/{BUILD}/ni.o to: retrospective/{BUILD}/ni$(EXEEXTENSION) }
|
||||
|
||||
{end-define}
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
.PHONY: all
|
||||
|
||||
all: \
|
||||
retrospective/6L02/cBlorb retrospective/6L02/ni \
|
||||
retrospective/6L38/cBlorb retrospective/6L38/ni \
|
||||
retrospective/6M62/cBlorb retrospective/6M62/ni
|
||||
|
||||
{retro-targets build: 6L02}
|
||||
{retro-targets build: 6L38}
|
||||
{retro-targets build: 6M62}
|
|
@ -1,6 +1,6 @@
|
|||
echo "(A script to make a first build of the core Inform tools)"
|
||||
echo "(Step 1 of 4: making the overall makefile)"
|
||||
if ! ( ../inweb/Tangled/inweb -prototype scripts/makescript.txt -makefile makefile; ) then
|
||||
if ! ( ../inweb/Tangled/inweb -prototype scripts/inform.mkscript -makefile makefile; ) then
|
||||
echo "(Okay, so that failed. Have you installed and built Inweb?)"
|
||||
exit 1
|
||||
fi
|
||||
|
|
|
@ -1,18 +1,30 @@
|
|||
# This is "inform.mkscript", a script used to generate the makefile "makefile"
|
||||
# at the root of the "inform" repository. This isn't for making any single
|
||||
# executable, but for orchestrating build-like operations across the whole
|
||||
# suite of tools included in that repository, so a lot of what it does is to
|
||||
# run make recursively on subsidiary makefiles belonging to the individual tools.
|
||||
|
||||
# Do not edit "inform/makefile" directly. Instead, edit this script, and then
|
||||
# rebuild "inform/makefile" with the command:
|
||||
|
||||
# ../inweb/Tangled/inweb -prototype scripts/inform.mkscript -makefile makefile
|
||||
|
||||
# (Note that typing "make makers" will remake all of the subsidiary makefiles
|
||||
# inside the repository from their scripts, but _not_ this one: we don't want
|
||||
# to have a makefile editing itself.)
|
||||
|
||||
# See the inweb manual for documentation on the *.mkscript file format, i.e.,
|
||||
# the format in which this file is written. But it is essentially just a makefile
|
||||
# with a number of special macro and loop features whose syntax involves braces
|
||||
# { ... }, so anywhere that you see braces, you're looking at something special
|
||||
# to *.mkscript; anything else is straightforward make syntax.
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Core Inform makescript - to be turned into a makefile by inweb
|
||||
|
||||
# Note that the resulting makefile expects to be used with the current working
|
||||
# directory set to "inform". It should then usually be invoked with just "make".
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# 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:
|
||||
#
|
||||
# $ ../inweb/Tangled/inweb -prototype scripts/makescript.txt -makefile makefile
|
||||
#
|
||||
# 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}
|
||||
|
||||
|
@ -164,8 +176,8 @@ makers:
|
|||
{repeat-tools-block:all}
|
||||
$(INWEBX) $(@WEB) -makefile $(@MAKER)
|
||||
{end-block}
|
||||
$(INWEBX) -prototype inform6/makescript.txt -makefile inform6/inform6.mk
|
||||
$(INWEBX) -prototype retrospective/makescript.txt -makefile retrospective/makefile
|
||||
$(INWEBX) -prototype inform6/inform6.mkscript -makefile inform6/inform6.mk
|
||||
$(INWEBX) -prototype retrospective/retrospective.mkscript -makefile retrospective/makefile
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Target "gitignores"
|
Loading…
Reference in a new issue