| # Generic Baroque Inform project makefile | |
| # by D. Jacob Wildstrom | |
| # This makefile should be suited to most projects you might ever want | |
| # to handle using Inform. 'make' or 'make rel' will make a final | |
| # version of your program (using abbreviations, disabling debugging, | |
| # and stripping filesize padding off the gamefile). 'make dev' will | |
| # make a debugging-and-development version. 'make clean' does what it | |
| # normally does. | |
| # In order to use the abbreviation-handling powers of this makefile, | |
| # your source code should at some point contain the line | |
| # Include ">abbreviations.inf"; | |
| # You can change that sourcefile's name below. | |
| # The major points at which you'll probably want to configure this | |
| # makefile are the definitions of the variables INFORM, CHECK, | |
| # SOURCE-FILE, AUX-SWITCH, ZVERSION-LIB-PATH, and ABBREVIATIONS-SWITCH | |
| ### +----------------------+ | |
| ### | Environment settings | | |
| ### +----------------------+ | |
| # This is the path to your inform binary below. One of the following | |
| # will generally be right. | |
| INFORM = /usr/bin/inform-6.21 | |
| # INFORM = /usr/local/bin/inform-6.21 | |
| # This is the path to the ztools 'check' utility below, used for | |
| # stripping compiled z-files. One of the following will generally be | |
| # right. | |
| CHECK = /usr/bin/check | |
| # CHECK = /usr/local/bin/check | |
| # Put the location of the z3 library (i.e. library version 6/2 or | |
| # earlier), and any other includes necessary in z3 compiles, here. | |
| Z3-INCL-PATH = +include-path=/usr/share/inform/old/6.2 | |
| # If you need a path setting other than the default, indicate it | |
| # here. You must use ICL notation, so preface any path indication with | |
| # "+". | |
| INFORM-PATHS = | |
| ### +------------------------+ | |
| ### | Game-specific settings | | |
| ### +------------------------+ | |
| # This is the name of the source file which you want compiled by Inform. | |
| SOURCE-FILE = main.inf | |
| # Any additional dependencies for the compile should go here. | |
| AUX-SOURCES = | |
| # This is the version of the z-machine to which you're | |
| # compiling. Generally it's going to want to be 5, and occasionally | |
| # 8. You will rarely want a different setting. This makefile is | |
| # special-cased to allow z3 (with the 6/2 libraries and proper setting | |
| # of Z3-INCL-PATH), but z4 needs special-casing even with the 6/2 | |
| # libraries, which aren't really made to do z4. | |
| ZVERSION = 5 | |
| # Uncomment one of the following lines _only_ if you are not using the | |
| # standard inform libraries (at the time of writing, 6/10). The first | |
| # will disable the -S and -X switches, which depend on using the | |
| # standard libraries and become unhappy if you aren't; the second will | |
| # disable -S, -X, and -D, since libraries without debug hooks (or no | |
| # libraries at all) may also cause errors. Note that | |
| # NONSTANDARD-LIBRARY is automatically defined for Z-machine version 3 | |
| # (which uses a previous library version, which is not compatible with | |
| # these switches). | |
| # NONSTANDARD-LIBRARY = yes | |
| # NONSTANDARD-LIBRARY = no-debug | |
| # Depending whether you want to actually create and use abbreviations, | |
| # uncomment one of the two options below. | |
| # Warning: use-abbreviations has a lot of issues, none of them my | |
| # fault. In games with a lot of text, it's slow, and in games with | |
| # very little text, or text which closely matches inform builtin text, | |
| # it throws a segfault -- this is because text hardwired into Inform | |
| # is in consts, but the -e switch isn't smart enough to not try to | |
| # modify them anyways. There is in fact a patch to inform which solves | |
| # this problem, and which you may want to use if you have frequent | |
| # difficulties. | |
| ABBREVIATIONS-SWITCH = use-abbreviations | |
| # ABBREVIATIONS-SWITCH = dont-use-abbreviations | |
| # You can give the abbreviations file any name you want, but there's | |
| # rarely a need to change it from the default. | |
| ABBREV-FILE = abbreviations.inf | |
| # This is the name of the transcript output for compilation using the | |
| # -r switch. | |
| TRANSCRIPT-FILE = transcript.txt | |
| # Uncomment the second if you do not wish to produce a game-text transcript. | |
| ICL-TRANSCRIPT-CMD = +transcript_name=$(TRANSCRIPT-FILE) | |
| # ICL-TRANSCRIPT-CMD = | |
| # If you have any other parameters you want to pass to Inform, such as | |
| # $huge, put them here. | |
| ICL-PARAMS = | |
| ### +------------------------------------------------------------------+ | |
| ### | Ideally, you should not have to modify anything below this line. | | |
| ### +------------------------------------------------------------------+ | |
| # Absurd hack to make Z3 work. | |
| ifeq ($(ZVERSION),3) | |
| ifndef NONSTANDARD-LIBRARY | |
| NONSTANDARD-LIBRARY = yes | |
| endif | |
| ZVERSION-LIB-PATH = $(Z3-INCL-PATH) | |
| else | |
| ZVERSION-LIB-PATH = | |
| endif | |
| # These are respectively the switches and output filename for | |
| # development versions of the z-code. | |
| ifdef NONSTANDARD-LIBRARY | |
| # Special hack -- -S and -X do not do the right thing under | |
| # nonstandard libraries, and under some libraries, -D doesn't work | |
| # either. | |
| ifeq ($(NONSTANDARD-LIBRARY),no-debug) | |
| DEV-PARAMS = -~D~S~Xrv$(ZVERSION) | |
| else | |
| DEV-PARAMS = -D~S~Xrv$(ZVERSION) | |
| endif | |
| else | |
| DEV-PARAMS = -DSXrv$(ZVERSION) | |
| endif | |
| DEV-TARGET = dev-version.z$(ZVERSION) | |
| # These are respectively the switches and output filename for final | |
| # versions of the z-code. | |
| # The distinction between release-version.z* and stripped-release.z* | |
| # is that trailing space (above the internal gamefile size) is | |
| # stripped off of stripped-release with the ztools utility check. In | |
| # practice, it takes up the same amount of space on modern filesystems | |
| # as the padded version, but its ostensible filesize is a more | |
| # accurate indicator of the actual data size. | |
| REL-PARAMS = -~D~S~Xrefsv$(ZVERSION) | |
| REL-TARGET = release-version.z$(ZVERSION) | |
| RELRED-TARGET = stripped-release.z$(ZVERSION) | |
| # These are respectively the switches and output filename for | |
| # abbreviation-determination. Note that the output filename is | |
| # completely arbitrary, since we don't actually care about the z-code | |
| # resulting from an optimization pass. | |
| OPT-PARAMS = -~D~S~Xuv$(ZVERSION) | |
| OPT-TARGET = .maketemp.optimize.z$(ZVERSION) | |
| INFORM-WITH-PARAMS = $(INFORM) $(ICL-PARAMS) $(ICL-TRANSCRIPT-CMD) \ | |
| $(INFORM-PATHS) $(ZVERSION-LIB-PATH) | |
| release rel final: $(RELRED-TARGET) | |
| dev develop development test: $(DEV-TARGET) | |
| opt optimize optimization abbreviate abbreviation: $(ABBREV-FILE) | |
| all: rel dev opt | |
| $(RELRED-TARGET): $(REL-TARGET) | |
| $(CHECK) $(REL-TARGET) $(RELRED-TARGET) | |
| $(REL-TARGET): $(ABBREV-FILE) $(SOURCE-FILE) $(AUX-SOURCES) | |
| $(INFORM-WITH-PARAMS) $(REL-PARAMS)\ | |
| $(SOURCE-FILE) $(REL-TARGET) | |
| $(DEV-TARGET): $(SOURCE-FILE) $(AUX-SOURCES) | |
| $(INFORM-WITH-PARAMS) $(DEV-PARAMS)\ | |
| $(SOURCE-FILE) $(DEV-TARGET) | |
| $(ABBREV-FILE): $(SOURCE-FILE) $(AUX-SOURCES) | |
| $(MAKE) $(ABBREVIATIONS-SWITCH) | |
| use-abbreviations: $(SOURCE-FILE) $(AUX-SOURCES) | |
| $(INFORM-WITH-PARAMS) $(OPT-PARAMS)\ | |
| $(SOURCE-FILE) $(OPT-TARGET) | grep Abbreviate > $(ABBREV-FILE) | |
| rm $(OPT-TARGET) | |
| dont-use-abbreviations: | |
| touch $(ABBREV-FILE) | |
| clean: | |
| rm -f *~ *.z$(ZVERSION) $(TRANSCRIPT-FILE) $(ABBREV-FILE) | |
| # This is, I know, a hack. It basically insures that $(ABBREV-FILE) | |
| # exists, so that 'make dev' doesn't lose, but also insures that it's | |
| # old enough that it'll want updating for the files which have it as | |
| # dependencies. | |
| touch -t 197001010000.00 $(ABBREV-FILE) | |
Xet Storage Details
- Size:
- 7.15 kB
- Xet hash:
- 8b4f036523095337f1e34c7e62d194f9ff34f15e796d1e31a87f7a9fd4cd34d0
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.