
# Makefile for Rogue.
# If Rogue does not compile, check whether the includes and library
# paths are set correctly for your system in the makefile. If not,
# correct them and use appropriate paths
#
# Rogue Copyright Pallav Nawani

SOURCES = callbacks.c callbacks.h debug_callbacks.c debug_callbacks.h interface.c  rg_scare.c interface.h  main.c  support.c support.h rogue.h rogue.c rogue_image.h rg_game.c rg_game.h rg_basic.c rg_basic.h rg_agx.c rg_tads2.c config.c config.h

OBJECTFILES = callbacks.o interface.o main.o support.o rogue.o debug_callbacks.o config.o rg_scare.o rg_game.o rg_basic.o rg_agx.o rg_tads2.o

# edit these if necessary
LIBPATH = `pkg-config --libs gtk+-2.0`
INCPATH = `pkg-config --cflags gtk+-2.0` -I$(SCAREPATH) -I$(AGILITYPATH) -I$(T2_DIR) -I$(T3_DIR)

SCAREPATH = ../scare-1.3.2-custom/
AGILITYPATH = ../agility/
T2_DIR = ../tads2
T3_DIR = ../tads3

REG_BUILTIN      = vmbifreg
REG_METACLASS    = vmmcreg

TADS23OBJS = $(T3_DIR)/vmcrc.o $(T3_DIR)/vmmain.o $(T3_DIR)/std.o $(T3_DIR)/std_dbg.o $(T3_DIR)/charmap.o $(T3_DIR)/resload.o $(T3_DIR)/resldexe.o $(T3_DIR)/vminit.o $(T3_DIR)/vmini_nd.o $(T3_DIR)/vmconsol.o $(T3_DIR)/vmconmor.o $(T3_DIR)/vmconhmp.o $(T3_DIR)/vminitim.o $(T3_DIR)/vmcfgmem.o $(T3_DIR)/vmobj.o $(T3_DIR)/vmundo.o $(T3_DIR)/$(T3_DIR)/vmtobj.o $(T3_DIR)/vmpat.o $(T3_DIR)/vmstrcmp.o $(T3_DIR)/vmdict.o $(T3_DIR)/vmgram.o $(T3_DIR)/vmstr.o $(T3_DIR)/vmcoll.o $(T3_DIR)/vmiter.o $(T3_DIR)/vmlst.o $(T3_DIR)/vmsort.o $(T3_DIR)/vmsortv.o $(T3_DIR)/vmbignum.o $(T3_DIR)/vmvec.o $(T3_DIR)/vmintcls.o $(T3_DIR)/vmanonfn.o $(T3_DIR)/vmlookup.o $(T3_DIR)/vmbytarr.o $(T3_DIR)/vmcset.o $(T3_DIR)/vmfilobj.o $(T3_DIR)/vmstack.o $(T3_DIR)/vmerr.o $(T3_DIR)/vmerrmsg.o $(T3_DIR)/vmpool.o $(T3_DIR)/vmpoolim.o $(T3_DIR)/vmtype.o $(T3_DIR)/vmtypedh.o $(T3_DIR)/utf8.o $(T3_DIR)/vmglob.o $(T3_DIR)/vmrun.o $(T3_DIR)/vmfunc.o $(T3_DIR)/vmmeta.o $(T3_DIR)/vmsa.o $(T3_DIR)/vmbif.o $(T3_DIR)/vmbifl.o $(T3_DIR)/vmimage.o $(T3_DIR)/vmimg_nd.o $(T3_DIR)/vmrunsym.o $(T3_DIR)/vmsrcf.o $(T3_DIR)/vmfile.o $(T3_DIR)/vmbiftad.o $(T3_DIR)/vmbiftio.o $(T3_DIR)/askf_os.o $(T3_DIR)/indlg_tx.o $(T3_DIR)/vmsave.o $(T3_DIR)/vmbift3.o $(T3_DIR)/vmbt3_nd.o $(T3_DIR)/vmregex.o $(T3_DIR)/vmhosttx.o $(T3_DIR)/vmhostsi.o $(T3_DIR)/vmhash.o $(T3_DIR)/$(REG_METACLASS).o $(T3_DIR)/$(REG_BUILTIN).o $(T3_DIR)/vmuni_cs.o $(T3_DIR)/osunix.o $(T3_DIR)/wcs.o $(T2_DIR)/osifc.o $(T2_DIR)/osnoui.o $(T2_DIR)/osrestad.o $(T2_DIR)/tparm.o $(T2_DIR)/mcm.o $(T2_DIR)/mcs.o $(T2_DIR)/mch.o $(T2_DIR)/obj.o $(T2_DIR)/cmd.o $(T2_DIR)/errmsg.o $(T2_DIR)/fioxor.o $(T2_DIR)/os0.o $(T2_DIR)/argize.o $(T2_DIR)/oserr.o $(T2_DIR)/cmap.o $(T2_DIR)/dat.o $(T2_DIR)/lst.o $(T2_DIR)/out.o $(T2_DIR)/voc.o $(T2_DIR)/bif.o $(T2_DIR)/output.o $(T2_DIR)/suprun.o $(T2_DIR)/regex.o $(T2_DIR)/vocab.o $(T2_DIR)/execmd.o $(T2_DIR)/runstat.o $(T2_DIR)/ply.o $(T2_DIR)/trd.o $(T2_DIR)/linfdum.o $(T2_DIR)/fio.o $(T2_DIR)/getstr.o $(T2_DIR)/qas.o $(T2_DIR)/dbgtr.o $(T2_DIR)/ler.o $(T2_DIR)/bifgdum.o $(T2_DIR)/indlg_tx.o $(T2_DIR)/oem.o $(T2_DIR)/run.o $(T2_DIR)/askf_os.o


# You will likely not need to edit anything below this line.
LIBRARIES = -lz
CFLAGS = -O2 -Wall -Wunused -DOS_UCHAR_DEFINED -DVMGLOB_STRUCT
PROGRAM = rogue
COMPILE = $(CC) $(CFLAGS)
LINK = $(CC) -o $(PROGRAM) $(CFLAGS)
CC = g++


.SUFFIXES:
.SUFFIXES: .S .c .cc .o .s
.s.o:
	$(COMPILE) -c $< $(INCPATH)
.S.o:
	$(COMPILE) -c $< $(INCPATH)
.cc.o:
	$(COMPILE) -c $< $(INCPATH)
.c.o:
	$(COMPILE) -c $< $(INCPATH)


all: $(PROGRAM)

rogue: $(OBJECTFILES) $(SOURCES) $(AGILITYPATH)config.h $(T2_DIR)/rg_os.h $(AGILITYPATH)*.o
	$(LINK) $(SCAREPATH)*.o  $(AGILITYPATH)*.o $(TADS23OBJS) $(OBJECTFILES) $(INCPATH) $(LIBPATH) $(LIBRARIES)

clean:
	rm -f *.o $(PROGRAM)


