# By default, just typing MAKE will compile the target with debugging turned # on. # MAKE REL will compile with debugging off # MAKE ABBREV will compile a release version and turn on abbreviations. It # also dumps out the compilation statistics. # MAKE BLORB will build the release version and blorb it. # # Things you might need to change to get it to work on your system: # ROOTDIR if your Inform compiler isn't on your root drive. # INFRMROOT to point to the root of your Inform installation # TARGET to the name of your main executable # # I've also included a MAX_OBJECTS definition, mainly to illustrate how to # properly pass $ commands to Inform through the makefile. # # All these flags are located near the beginning of the file to make them easy # to change. # Modify the line below (and uncomment it) if your Inform executable is not on # your root drive ROOTDIR=C:/users/mc10730 # Modify this line to point to your Inform directory INFRMROOT=$(ROOTDIR)/devl/inform #INFRMROOT=/usr/local/inform # Change this to match the name of your main source file TARGET=illum # Uncomment the line below if you have any custom .h files for your game and # you want make to recompile the target if the .h files change DEPS=$(TARGET).h # Uncomment the line below if you want to compile to V8 # V8=1 # Change the line below if you need more than 640 objects (default) # If you intend to leave it at 640, you can leave it commented out OBJ_FLAG=\$$MAX_LABELS=1400 \$$MAX_QTEXT_SIZE=5000 GENABBR_FLAG=\$$MAX_TRANSCRIPT_SIZE=300000 \$$MAX_QTEXT_SIZE=5000 # Library and include directory settings BINDIR=$(INFRMROOT)/bin LIBDIR=$(INFRMROOT)/lib CONTRIBDIR=$(LIBDIR)/contrib #INFRM definition INFRM=$(BINDIR)/inform6.exe CBLORB=$(BINDIR)/cblorb.exe BABEL=$(BINDIR)/babel.exe SED=sed FLAGS=$(OBJ_FLAG) # see top of file for explanation of default settings DBGFLAGS=-S -D $(FLAGS) CBLORBFLAGS=-unix RELFLAGS=-~S -~D -~X $(FLAGS) GLULXFLAGS=-G -H \$$MAX_PROP_TABLE_SIZE=90000 \$$MAX_STATIC_DATA=16000 \$$MAX_QTEXT_SIZE=5000 ABBREVFLAGS=$(RELFLAGS) -e -s INCLUDE=+include_path=./,$(LIBDIR),$(CONTRIBDIR) #RM definition for Linux machine or Cygwin RM=rm -f SRCS=$(TARGET).inf $(TARGET) : $(SRCS) $(DEPS) $(INFRM) $(GLULXFLAGS) $(DBGFLAGS) $(INCLUDE) $(SRCS) debug: $(SRCS) $(DEPS) $(INFRM) $(GLULXFLAGS) $(DBGFLAGS) $(INCLUDE) $(SRCS) glulxdbg: $(SRCS) $(DEPS) $(INFRM) $(GLULXFLAGS) $(DBGFLAGS) $(INCLUDE) $(SRCS) rel: release release: $(TARGET).inf $(INFRM) $(GLULXFLAGS) $(RELFLAGS) $(INCLUDE) $(SRCS) glulxrel: $(TARGET).inf $(INFRM) $(GLULXFLAGS) $(RELFLAGS) $(INCLUDE) $(SRCS) .PHONY: checksum_glulx checksum_glulx: $(eval DATE=`date +%Y-%m-%d`) $(eval CHECKSUM_GLULX=`hexdump -ve '16/1 "%0.2X" "\n"' -s 32 -n 4 $(TARGET).ulx`) $(eval SERIAL_GLULX=`hexdump -ve '16/1 "%c" "\n"' -s 54 -n 6 $(TARGET).ulx`) $(eval RELEASE_GLULX=`hexdump -ve '16/1 "%d" "\n"' -s 52 -n 2 $(TARGET).ulx | sed 's/^0*//'`) blorb: glulxrel ifiction_ulx @$(CBLORB) $(CBLORBFLAGS) $(TARGET)ulx.blurb $(TARGET).gblorb @echo "Created $(TARGET).gblorb" @$(RM) $(TARGET)ulx.ifiction blorbrel: glulxrel ifiction_ulx @$(CBLORB) $(CBLORBFLAGS) $(TARGET)ulx.blurb $(TARGET)-GLULX-$(RELEASE_GLULX)-$(SERIAL_GLULX)-$(CHECKSUM_GLULX).gblorb @echo "Created $(TARGET)-GLULX-$(RELEASE_GLULX)-$(SERIAL_GLULX)-$(CHECKSUM_GLULX).gblorb" @$(RM) $(TARGET)ulx.ifiction blorbd: debug ifiction_ulx $(CBLORB) $(CBLORBFLAGS) $(TARGET)ulx.blurb $(TARGET).gblorb @$(RM) $(TARGET)ulx.ifiction blorbg: glulxrel ifiction_ulx $(CBLORB) $(CBLORBFLAGS) $(TARGET)ulx.blurb $(TARGET).gblorb @$(RM) $(TARGET)ulx.ifiction blorbgd: glulxdbg ifiction_ulx $(CBLORB) $(CBLORBFLAGS) $(TARGET)ulx.blurb $(TARGET).gblorb @$(RM) $(TARGET)ulx.ifiction ifiction_ulx: checksum_glulx @echo "Generating iFiction Glulx file." @echo "" > $(TARGET)ulx.ifiction @echo "" >> $(TARGET)ulx.ifiction @echo "" >> $(TARGET)ulx.ifiction @echo "" >> $(TARGET)ulx.ifiction @echo " " >> $(TARGET)ulx.ifiction @echo " GLULX-$(RELEASE_GLULX)-$(SERIAL_GLULX)-$(CHECKSUM_GLULX)" >> $(TARGET)ulx.ifiction @echo " glulx" >> $(TARGET)ulx.ifiction @echo " " >> $(TARGET)ulx.ifiction @echo " " >> $(TARGET)ulx.ifiction @echo " Illuminismo Iniziato" >> $(TARGET)ulx.ifiction @echo " Michael J. Coyne" >> $(TARGET)ulx.ifiction @echo " en-US" >> $(TARGET)ulx.ifiction @echo " An Interactive Invigoration" >> $(TARGET)ulx.ifiction @echo " 2018" >> $(TARGET)ulx.ifiction @echo " Fantasy" >> $(TARGET)ulx.ifiction @echo " " >> $(TARGET)ulx.ifiction @echo " As you turn the crank, you hear the turning of tiny gears and elaborate" >> $(TARGET)ulx.ifiction @echo " machinery inside the Mr Wizard Portable Tyromancy Deluxe. For a moment," >> $(TARGET)ulx.ifiction @echo " nothing happens. Then, the machine begins to glow, bathing you in an" >> $(TARGET)ulx.ifiction @echo " otherworldly light that expands to surround the whole area. The world" >> $(TARGET)ulx.ifiction @echo " around you fades, and another place, another time, takes its place." >> $(TARGET)ulx.ifiction @echo "
" >> $(TARGET)ulx.ifiction @echo " An overripe sequel to 2003's Xyzzy-nominated Risorgimento Represso." >> $(TARGET)ulx.ifiction @echo " Fifteen years in the making! Well, fifteen years to finish." >> $(TARGET)ulx.ifiction @echo " More exotic cheeses! Better visions! Longer! Plot-significant!" >> $(TARGET)ulx.ifiction @echo "
" >> $(TARGET)ulx.ifiction @echo " The interplanar rift which brought you to this world is still active and" >> $(TARGET)ulx.ifiction @echo " you must battle to close it before Renaldo can rip it wide upon and visit" >> $(TARGET)ulx.ifiction @echo " his evil upon your own world." >> $(TARGET)ulx.ifiction @echo "
" >> $(TARGET)ulx.ifiction @echo " Coded in Inform6. Includes automap and sound features." >> $(TARGET)ulx.ifiction @echo "
" >> $(TARGET)ulx.ifiction @echo " Difficulty: Standard" >> $(TARGET)ulx.ifiction @echo "
" >> $(TARGET)ulx.ifiction @echo "
" >> $(TARGET)ulx.ifiction @echo " " >> $(TARGET)ulx.ifiction @echo " png" >> $(TARGET)ulx.ifiction @echo " 800" >> $(TARGET)ulx.ifiction @echo " 600" >> $(TARGET)ulx.ifiction @echo " A wizard's apprentice wandering the streets of Blumph, Mr Wizard Portable Tyromancy Deluxe in hand" >> $(TARGET)ulx.ifiction @echo " " >> $(TARGET)ulx.ifiction @echo " " >> $(TARGET)ulx.ifiction @echo " http://turthalion.blogspot.com" >> $(TARGET)ulx.ifiction @echo " " >> $(TARGET)ulx.ifiction @echo " " >> $(TARGET)ulx.ifiction @echo " " >> $(TARGET)ulx.ifiction @echo " " >> $(TARGET)ulx.ifiction @echo " $(RELEASE_GLULX)" >> $(TARGET)ulx.ifiction @echo " $(DATE)" >> $(TARGET)ulx.ifiction @echo " Inform" >> $(TARGET)ulx.ifiction @echo " 6.33" >> $(TARGET)ulx.ifiction @echo " " >> $(TARGET)ulx.ifiction @echo " " >> $(TARGET)ulx.ifiction @echo " " >> $(TARGET)ulx.ifiction @echo " " >> $(TARGET)ulx.ifiction @echo " $(RELEASE_GLULX)" >> $(TARGET)ulx.ifiction @echo " $(SERIAL_GLULX)" >> $(TARGET)ulx.ifiction @echo " $(CHECKSUM_GLULX)" >> $(TARGET)ulx.ifiction @echo " 1" >> $(TARGET)ulx.ifiction @echo " 1024" >> $(TARGET)ulx.ifiction @echo " 728" >> $(TARGET)ulx.ifiction @echo " " >> $(TARGET)ulx.ifiction @echo " " >> $(TARGET)ulx.ifiction @echo " Michael J. Coyne" >> $(TARGET)ulx.ifiction @echo " $(DATE)" >> $(TARGET)ulx.ifiction @echo " " >> $(TARGET)ulx.ifiction @echo "
" >> $(TARGET)ulx.ifiction @echo "
" >> $(TARGET)ulx.ifiction clean: -$(RM) $(TARGET).ulx