Talk:Writing Interactive Fiction with Inform 7
From HacDC Wiki
Makefiles for command line development
I found the built-in editor with Inform7 somewhat frustrating, so I wrote a set of Makefile rules to allow me to do command line compiling while I edited the source files in my editor of choice. The build process is quite odd; first the Inform7 front-end generates I6 code from the .ni file, which is then compiled into z8 files. For test playing I used frotz.
#!/usr/bin/make # For OSX; for Linux i386 it is somewhere in /usr/local/bin INFORM_PATH=/Applications/Inform.app/Contents/Resources/ I7_BIN=$(INFORM_PATH)/Compilers/ni I7_LIB=$(INFORM_PATH)/Inform7/Extensions I6_BIN=$(INFORM_PATH)/Compilers/inform-6.31-biplatform I6_LIB=$(INFORM_PATH)/Library/Natural ZCODE_VERSION=8 EXT=z$(ZCODE_VERSION) ifdef DEBUG DEBUG_OPTS=D endif # # The arguments to the Inform6 compiler set: # -E2SDwv$(ZCODE_VERSION)x \ # E2 Macintosh MPW-style error messages # S Strict error-checking at runtime # w Disable warning messages # v8 Generate z-code version 8 # x Print # for every 100 lines compiled # # Optionally, if debugging is requested: # # D Insert "Constant DEBUG;" automatically # %.$(EXT): %.ni TMPDIR=/tmp/inform7-$$$$ mkdir -p "$$TMPDIR"/{Build,Source,Index} cp "$<" "$$TMPDIR"/Source/story.ni "$(I7_BIN)" \ --rules "$(I7_LIB)" \ --extension=$(EXT) \ --package "$$TMPDIR" \ "$(I6_BIN)" \ -E2Swv$(ZCODE_VERSION)$(DEBUG_OPTS)x \ +"$(I6_LIB)" \ "$$TMPDIR/Build/auto.inf" \ -o "$@" \
--- Hudson 19:59, 14 December 2008 (UTC)