# GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ROOT = .. SHELL = /bin/sh # # Pieces and other resources directories, and engine and tools directories. # PIECES = ./Pieces LABELS = ./Labels BUTTONS = ./Buttons MISC = ./Misc ENGINE = ./Engine TOOLS = ./Tools PNGCACHE= pngcache.zip # # Standard method to compile .inf files. # INFORM_OPTS = -~S GLULX_INFORM = $(TOOLS)/inform GLULX_FLAGS = '$$MAX_STATIC_DATA=200000' '$$MAX_ARRAYS=256' .SUFFIXES: .SUFFIXES: .inf .ulx .inf.ulx: $(GLULX_INFORM) $(INFORM_OPTS) $(GLULX_FLAGS) $< # # List of all image resources required. # IMAGES = PIC1 PIC2 \ PIC3 PIC4 PIC5 PIC6 PIC7 PIC8 PIC9 PIC10 PIC11 \ PIC12 PIC13 PIC14 PIC15 PIC16 PIC17 PIC18 PIC19 PIC20 \ PIC21 PIC22 PIC23 PIC24 PIC25 PIC26 PIC27 PIC28 PIC29 \ PIC30 PIC31 PIC32 PIC33 PIC34 PIC35 PIC36 PIC37 PIC38 \ PIC39 PIC40 PIC41 PIC42 PIC43 PIC44 PIC45 PIC46 PIC47 \ PIC48 PIC49 PIC50 PIC51 PIC52 PIC53 PIC54 PIC55 PIC56 \ PIC57 PIC58 PIC59 PIC60 PIC61 PIC62 PIC63 PIC64 PIC65 \ PIC66 \ PIC67 PIC68 PIC69 PIC70 PIC71 PIC72 PIC73 PIC74 PIC75 \ PIC76 PIC77 PIC78 PIC79 PIC80 PIC81 PIC82 PIC83 PIC84 \ PIC85 PIC86 PIC87 PIC88 PIC89 PIC90 PIC91 \ PIC92 PIC93 PIC94 PIC95 PIC96 # # Default make target. # default: all # # Copy image resources. # PIC1: $(PIECES)/sq32w.png cp $< $@ PIC2: $(PIECES)/sq32b.png cp $< $@ PIC3: $(PIECES)/wk32n.png cp $< $@ PIC4: $(PIECES)/wq32n.png cp $< $@ PIC5: $(PIECES)/wr32n.png cp $< $@ PIC6: $(PIECES)/wb32n.png cp $< $@ PIC7: $(PIECES)/wn32n.png cp $< $@ PIC8: $(PIECES)/wp32n.png cp $< $@ PIC9: $(PIECES)/bk32n.png cp $< $@ PIC10: $(PIECES)/bq32n.png cp $< $@ PIC11: $(PIECES)/br32n.png cp $< $@ PIC12: $(PIECES)/bb32n.png cp $< $@ PIC13: $(PIECES)/bn32n.png cp $< $@ PIC14: $(PIECES)/bp32n.png cp $< $@ PIC15: $(PIECES)/wk32w.png cp $< $@ PIC16: $(PIECES)/wq32w.png cp $< $@ PIC17: $(PIECES)/wr32w.png cp $< $@ PIC18: $(PIECES)/wb32w.png cp $< $@ PIC19: $(PIECES)/wn32w.png cp $< $@ PIC20: $(PIECES)/wp32w.png cp $< $@ PIC21: $(PIECES)/bk32w.png cp $< $@ PIC22: $(PIECES)/bq32w.png cp $< $@ PIC23: $(PIECES)/br32w.png cp $< $@ PIC24: $(PIECES)/bb32w.png cp $< $@ PIC25: $(PIECES)/bn32w.png cp $< $@ PIC26: $(PIECES)/bp32w.png cp $< $@ PIC27: $(PIECES)/wk32b.png cp $< $@ PIC28: $(PIECES)/wq32b.png cp $< $@ PIC29: $(PIECES)/wr32b.png cp $< $@ PIC30: $(PIECES)/wb32b.png cp $< $@ PIC31: $(PIECES)/wn32b.png cp $< $@ PIC32: $(PIECES)/wp32b.png cp $< $@ PIC33: $(PIECES)/bk32b.png cp $< $@ PIC34: $(PIECES)/bq32b.png cp $< $@ PIC35: $(PIECES)/br32b.png cp $< $@ PIC36: $(PIECES)/bb32b.png cp $< $@ PIC37: $(PIECES)/bn32b.png cp $< $@ PIC38: $(PIECES)/bp32b.png cp $< $@ PIC39: $(LABELS)/1.png cp $< $@ PIC40: $(LABELS)/2.png cp $< $@ PIC41: $(LABELS)/3.png cp $< $@ PIC42: $(LABELS)/4.png cp $< $@ PIC43: $(LABELS)/5.png cp $< $@ PIC44: $(LABELS)/6.png cp $< $@ PIC45: $(LABELS)/7.png cp $< $@ PIC46: $(LABELS)/8.png cp $< $@ PIC47: $(LABELS)/a.png cp $< $@ PIC48: $(LABELS)/b.png cp $< $@ PIC49: $(LABELS)/c.png cp $< $@ PIC50: $(LABELS)/d.png cp $< $@ PIC51: $(LABELS)/e.png cp $< $@ PIC52: $(LABELS)/f.png cp $< $@ PIC53: $(LABELS)/g.png cp $< $@ PIC54: $(LABELS)/h.png cp $< $@ PIC55: $(LABELS)/dash.png cp $< $@ PIC56: $(LABELS)/eq.png cp $< $@ PIC57: $(LABELS)/hash.png cp $< $@ PIC58: $(LABELS)/plus.png cp $< $@ PIC59: $(LABELS)/x.png cp $< $@ PIC60: $(LABELS)/l0.png cp $< $@ PIC61: $(LABELS)/lk.png cp $< $@ PIC62: $(LABELS)/lq.png cp $< $@ PIC63: $(LABELS)/lr.png cp $< $@ PIC64: $(LABELS)/lb.png cp $< $@ PIC65: $(LABELS)/ln.png cp $< $@ PIC66: $(LABELS)/err.png cp $< $@ PIC67: $(BUTTONS)/l1.png cp $< $@ PIC68: $(BUTTONS)/l2.png cp $< $@ PIC69: $(BUTTONS)/l3.png cp $< $@ PIC70: $(BUTTONS)/l4.png cp $< $@ PIC71: $(BUTTONS)/l5.png cp $< $@ PIC72: $(BUTTONS)/l6.png cp $< $@ PIC73: $(BUTTONS)/l7.png cp $< $@ PIC74: $(BUTTONS)/l8.png cp $< $@ PIC75: $(BUTTONS)/cw.png cp $< $@ PIC76: $(BUTTONS)/cb.png cp $< $@ PIC77: $(BUTTONS)/nu.png cp $< $@ PIC78: $(BUTTONS)/nd.png cp $< $@ PIC79: $(BUTTONS)/uu.png cp $< $@ PIC80: $(BUTTONS)/ud.png cp $< $@ PIC81: $(BUTTONS)/qu.png cp $< $@ PIC82: $(BUTTONS)/qd.png cp $< $@ PIC83: $(BUTTONS)/lu.png cp $< $@ PIC84: $(BUTTONS)/ld.png cp $< $@ PIC85: $(BUTTONS)/su.png cp $< $@ PIC86: $(BUTTONS)/sd.png cp $< $@ PIC87: $(BUTTONS)/bu.png cp $< $@ PIC88: $(BUTTONS)/bd.png cp $< $@ PIC89: $(MISC)/glkchessb.png cp $< $@ PIC90: $(MISC)/gpl.png cp $< $@ PIC91: $(MISC)/click.png cp $< $@ PIC92: $(MISC)/gameover.png cp $< $@ PIC93: $(MISC)/gamedraw.png cp $< $@ PIC94: $(MISC)/saving.png cp $< $@ PIC95: $(MISC)/loading.png cp $< $@ PIC96: $(MISC)/loadfail.png cp $< $@ # # Build the image resource cache only if absent. Mostly it'll just be # part of the source distribution. Then unzip it to get images. # images: @if [ ! -f $(PNGCACHE) ]; then \ cd $(PIECES); $(MAKE) all; cd ..; \ cd $(LABELS); $(MAKE) all; cd ..; \ cd $(BUTTONS); $(MAKE) all; cd ..; \ cd $(MISC); $(MAKE) all; cd ..; \ for pic in $(IMAGES); do \ [ -f $$pic ] || $(MAKE) $$pic; \ done; \ zip -9 $(PNGCACHE) $(IMAGES); \ fi unzip -qqu $(PNGCACHE) # # Build blorbtar if needed. # $(TOOLS)/blorbtar: cd $(TOOLS) && $(MAKE) # # Targets. # all: glkchess.blb glkchess.blb: STORY0 images $(TOOLS)/blorbtar $(TOOLS)/blorbtar c $@ STORY0 $(IMAGES) mscp.h: $(ENGINE)/mscp.inf cp $< $@ glkboard.ulx: glkboard.inf mscp.h infglk.h STORY0: glkboard.ulx cp $< $@ clean: rm -f STORY0 PIC* GLKCHESS.PGN GLKCHESS.BAK rm -f *.ulx *.blb distclean: clean cd $(PIECES) && $(MAKE) clean cd $(LABELS) && $(MAKE) clean cd $(BUTTONS) && $(MAKE) clean cd $(MISC) && $(MAKE) clean cd $(ENGINE) && $(MAKE) clean cd $(TOOLS) && $(MAKE) clean maintainer-clean: distclean rm -f glkchess_src.zip glkchess.zip rm -f pngcache.zip rm -f mscp.h # # Distribution target. # dist: $(MAKE) maintainer-clean all zip -9 glkchess.zip glkchess.blb glkchess.gif README COPYING $(MAKE) distclean zip -9 -r glkchess_src.zip * -x glkchess.zip