
	 OBJDIR =
	   LIBS =
       INCLUDES =

	CCFLAGS =
	ASFLAGS =
	LNFLAGS =
	  FLAGS =
      COPYFLAGS = QUIET
    DELETEFLAGS = QUIET
   ARCHIVEFLAGS = -x -r a

	 TMPDIR = T:
	 BINDIR = DCC:bin/
      CLIBINDIR = C:
       WBBINDIR = SYS:Tools/
	DATADIR = S:
	 DOCDIR = S:
      SCRIPTDIR = S:
	 LIBDIR = DLIB:
     INCLUDEDIR = DINCLUDE:
	TOOLDIR = SYS:Tools/
     UTILITYDIR = SYS:Utility/
       PREFSDIR = SYS:Prefs/
     ARCHIVEDIR =

	SOURCES =
	HEADERS =
	 PROTOS =
	PRECOMP =
      DATAFILES =
    SCRIPTFILES =

     EXECDEPEND =

	    DCC = dcc
	     CC = dcc -c
	     AS = dcc -c
	     LN = dcc
	   COPY = copy
	    FOR = for
       ARCHIVER = LhA
	 DELETE = delete
	   JOIN = join

    DELETEFILES =
	TARGETS =
   ARCHIVEFILES =
      RESIDENTS =
INSTALLEXEFILES =
   DEPENDENCIES =
       ARCHIVES =
	OBJDIRS =

	DATADIR = DATA:
	 DOCDIR = DOC:
	 BINDIR = DCC:bin/
	 TMPDIR = OBJ:

all : all_after

MKDIR = $(TMPDIR)XDME
OBJDIR = $(MKDIR)/
LIBDIR = $(OBJDIR)
PROTOS = $(OBJDIR)prog-protos.h
PRECOMP = $(OBJDIR)all.m
HEADER = all.h

DEBUGFLAGS = -s
FLAGS = -proto -r -mi -ms -mRR $(DEBUGFLAGS)
CCFLAGS = -2.0 -I$(OBJDIR) -Iincludes -Ilib/include -H$(PRECOMP)=$(HEADER) -//
STDLIBS = -lrexxsys -lreqtools -lobj
DEBUGLIBS = -ldebug

LIBS = $(STDLIBS) $(DEBUGLIBS)
LNFLAGS = -2.0 -L lib

SOURCES1 = alias.c amiga.c block.c clipboard.c cmd.c command.c cursor.c    drexx.c edit.c filereq.c flags.c globals.c hrexx.c io.c keyaddes.c

SOURCES2 = keycodes.c keycom.c keycontrol.c keytables.c macros.c main.c    math.c mem.c menu_dme.c menucom.c menucontrol.c menustrips.c mikro.c

SOURCES3 = prefs.c redraw.c refs.c search.c simplex.c smallspc.c subs.c    text.c vars.c varsbases.c varstack.c win.c

SOURCESC = $(SOURCES1) $(SOURCES2) $(SOURCES3)
SOURCESA = wildcmp.a
SOURCES = $(SOURCESC) $(SOURCESA)
HEADERS = includes/defs.h includes/all.h includes/global.h
DOCFILES = docs/xdme.doc
SCRIPTFILES = S/.edrc

OTHER = #?.bak
TARGETS = $(MKDIR) precomp

$(MKDIR) : $(MKDIR)
    makedir $(MKDIR)

tmp = $(TARGETS) XDME
	TARGETS = $(tmp)

	tmp = $(ARCHIVEFILES) XDME
	ARCHIVEFILES = $(tmp)

	tmp = $(INSTALLEXEFILES) XDME
	INSTALLEXEFILES = $(tmp)

XDME : $(SOURCES:"*.c":"$(OBJDIR)*.o") $(SOURCES:"*.a":"$(OBJDIR)*.o")
	$(LN) $(LNFLAGS) $(FLAGS) -o XDME $(SOURCES:"*.c":"$(OBJDIR)*.o") $(SOURCES:"*.a":"$(OBJDIR)*.o") $(LIBS)

$(SOURCES:"*.c":"$(OBJDIR)*.o") $(SOURCES:"*.a":"$(OBJDIR)*.o") : $(SOURCES:"*.c") $(SOURCES:"*.a")
	$(CC) -o %(left) %(right) $(CCFLAGS) $(FLAGS) $(INCLUDES)

	tmp = $(ARCHIVEFILES) $(SOURCES:"*.c") $(SOURCES:"*.a")
	ARCHIVEFILES = $(tmp)

	tmp = $(DELETEFILES) $(SOURCES:"*.c":"$(OBJDIR)*.o") $(SOURCES:"*.a":"$(OBJDIR)*.o")
	DELETEFILES = $(tmp)

protos : $(PROTOS)

$(PROTOS) : $(SOURCES)
	-$(DELETE) $(PROTOS) $(DELETEFLAGS)
	makeproto -o $(PROTOS) %(right)

	tmp = $(DELETEFILES) $(PROTOS)
	DELETEFILES = $(tmp)

precomp : $(PRECOMP)

$(PRECOMP) : $(HEADERS)
	-$(DELETE) $(PRECOMP) $(DELETEFLAGS)

	tmp = $(DELETEFILES) $(PRECOMP)
	DELETEFILES = $(tmp)

install :
    -delete C:Tools/XDME.old
    -rename C:Tools/XDME C:Tools/XDME.old
    copy XDME C:Tools
    resident DME C:Tools/XDME replace

$(SOURCESC:"*.c":"$(OBJDIR)*.o") $(SOURCESC:"*.a":"$(OBJDIR)*.o") :: $(HEADERS)

$(OBJDIR)keyhashes.o :: includes/defmap.h

XDME :: lib/objsr.lib

clean :
    -delete $(OBJDIR)#? all $(DELETEFLAGS)

archive :
    cd /
    -delete XDME.lha.old
    -rename XDME.lha XDME.lha.old
    lha -v9 -r -x -a -Qh64 a XDME.lha @XDME/.archive XDME.info
    cd

all_after : $(OBJDIRS) $(TARGETS)

DMakefile : IMakefile
	dcpp -I$(DATADIR) $(DATADIR)DMakefile.tmpl -o DMakefile.neu
	cpp2make DMakefile.neu

