dot = .
lispdir = ../lisp/
etcdir = ../etc/
shortnamesdir = ../shortnames/
cppdir = ../cpp/
oldXMenudir = ../oldXMenu/
CC = cc
STARTFILES = crt0.o 
LD=ld
LDFLAGS = -e __start -Bstatic   
CFLAGS= -g  -Demacs $(MYCPPFLAG)     -DBUTTON -DCB -I$(HOME)/Xinclude
ALARMSRC = 
ALARMOBJ =
XOBJ = x11term.o x11fns.o screen.o xdefault.o mouse.o button.o xutil.o xevent.o xresource.o property.o $(ALARMOBJ)
LIBX = -lX11    
obj=    dispepoch.o scroll.o xdisp.o window.o 	term.o cm.o $(XOBJ) 	emacs.o keyboard.o macros.o keymap.o sysdep.o 	buffer.o filelock.o insdel.o marker.o 	minibuf.o fileio.o dired.o filemode.o 	cmds.o casefiddle.o indent.o search.o regex.o undo.o 	alloc.o data.o doc.o editfns.o callint.o 	eval.o fns.o print.o lread.o 	abbrev.o syntax.o unexec.o  mocklisp.o bytecode.o 	process.o callproc.o $(environobj) 	doprnt.o
termcapobj = tparam.o
mallocobj = alloca.o malloc.o
otherobj= $(termcapobj) lastfile.o $(mallocobj)
lisp=	${lispdir}simple.elc ${lispdir}help.elc 	${lispdir}files.elc ${lispdir}window.elc 	${lispdir}indent.elc ${lispdir}loaddefs.el ${lispdir}paths.el 	${lispdir}startup.elc ${lispdir}lisp.elc 	${lispdir}page.elc ${lispdir}register.elc 	${lispdir}paragraphs.elc ${lispdir}lisp-mode.elc 	${lispdir}text-mode.elc ${lispdir}fill.elc 	${lispdir}c-mode.elc ${lispdir}isearch.elc 	${lispdir}replace.elc ${lispdir}abbrev.elc 	${lispdir}buff-menu.elc ${lispdir}subr.elc
SHELL=/bin/sh
LIBES =     -ltermcap  $(LIBX) -lg  -lc 
all: epoch  
epoch: temacs ${etcdir}DOC ${lisp}
	./temacs -batch -l inc-vers
	./temacs -batch -l loadup.el dump
${etcdir}DOC: ${etcdir}make-docfile ${obj} ${lisp}
	rm -f ${etcdir}DOC
	${etcdir}make-docfile ${obj} ${lisp} ${lispdir}version.el > ${etcdir}DOC
${etcdir}make-docfile:
	cd ${etcdir}; make ${MFLAGS} make-docfile
temacs:   $(LOCALCPP) $(SHORT) $(STARTFILES) $(OLDXMENU) ${obj} ${otherobj}    
	$(LD) ${STARTFLAGS} ${LDFLAGS} -o temacs ${STARTFILES} ${obj} ${otherobj}     ${LIBES}
CPP = $(CC) -E
paths.h: paths.h-dist
	@sh -c "if test -r $@; then echo $? is newer than $@; exit 1;	  else exit 0; fi"
	cp $? $@
config.h: config.h-dist
	@sh -c "if test -r $@; then echo $? is newer than $@; exit 1;	  else exit 0; fi"
	cp $? $@
alloca.o : alloca.s config.h
	cp alloca.s allocatem.c
	$(CPP) allocatem.c | 	sed -e 's///' -e 's/^#.*//' | 	sed -n -e '/^..*$$/p' > allocatem.s
	-rm -f alloca.o
	$(CC) -c allocatem.s
	mv allocatem.o alloca.o
	rm allocatem.s allocatem.c
BUTTONH =
abbrev.o : abbrev.c buffer.h commands.h config.h 
alarm.o : alarm.c
buffer.o : buffer.c syntax.h buffer.h commands.h window.h config.h
button.o : button.c $(BUTTONH) config.h 
callint.o : callint.c window.h commands.h buffer.h config.h 
callproc.o : callproc.c paths.h buffer.h commands.h config.h 
casefiddle.o : casefiddle.c syntax.h commands.h buffer.h config.h 
cm.o : cm.c cm.h termhooks.h config.h
cmds.o : cmds.c syntax.h buffer.h commands.h config.h 
crt0.o : crt0.c config.h
	$(CC) -c $(CFLAGS)   crt0.c
dired.o : dired.c commands.h buffer.h config.h 
dispepoch.o : dispepoch.c commands.h window.h buffer.h dispextern.h termchar.h termopts.h cm.h config.h screenW.h
doc.o : doc.c buffer.h config.h paths.h
doprnt.o : doprnt.c
editfns.o : editfns.c window.h buffer.h config.h 
emacs.o : emacs.c commands.h config.h 
fileio.o : fileio.c window.h buffer.h config.h 
filelock.o : filelock.c buffer.h paths.h config.h
filemode.o : filemode.c 
indent.o : indent.c window.h indent.h buffer.h config.h termchar.h termopts.h screenW.h
insdel.o : insdel.c window.h buffer.h config.h 
keyboard.o : keyboard.c termchar.h termhooks.h termopts.h buffer.h commands.h window.h macros.h config.h $(ALARMSRC) 
keymap.o : keymap.c buffer.h commands.h config.h 
lastfile.o : lastfile.c 
macros.o : macros.c window.h buffer.h commands.h macros.h config.h
malloc.o : malloc.c config.h
marker.o : marker.c buffer.h config.h 
minibuf.o : minibuf.c syntax.h window.h buffer.h commands.h config.h screenW.h
mocklisp.o : mocklisp.c buffer.h config.h
mouse.o : mouse.c config.h lisp.h window.h x11term.h dispextern.h termchar.h screen.h screenW.h screenX.h
process.o : process.c process.h buffer.h window.h termhooks.h termopts.h commands.h config.h $(ALARMSRC)
property.o : property.c config.h lisp.h x11term.h screen.h screenX.h xresource.h
regex.o : regex.c syntax.h buffer.h config.h regex.h 
screen.o : screen.c screen.h screenW.h screenX.h xdefault.h xd.h
scroll.o : scroll.c termchar.h config.h dispextern.h screen.h screenW.h
search.o : search.c regex.h commands.h buffer.h syntax.h config.h 
syntax.o : syntax.c syntax.h buffer.h commands.h config.h 
sysdep.o : sysdep.c config.h dispextern.h termhooks.h termchar.h termopts.h window.h screenW.h $(ALARMSRC)
term.o : term.c termchar.h termhooks.h termopts.h config.h cm.h screenW.h
termcap.o : termcap.c config.h
terminfo.o : terminfo.c config.h
tparam.o : tparam.c config.h
undo.o : undo.c buffer.h commands.h undo.h config.h 
unexec.o  : config.h
window.o : window.c indent.h commands.h window.h buffer.h config.h termchar.h screen.h screenW.h
xdefault.o : xdefault.h xdefault.c config.h
xdisp.o : xdisp.c macros.h commands.h indent.h buffer.h dispextern.h termchar.h window.h config.h screen.h screenW.h
xevent.o : xevent.c config.h screen.h screenX.h
xfns.o : xfns.c xterm.h window.h config.h
xmenu.o : xmenu.c xterm.h window.h config.h
xresource.o : xresource.c xresource.h lisp.h config.h screen.h screenX.h x11term.h
xterm.o : xterm.c xterm.h termhooks.h termopts.h termchar.h  dispextern.h config.h sink.h sinkmask.h $(ALARMSRC)
x11fns.o : x11fns.c window.h x11term.h dispextern.h termchar.h config.h screenW.h screenX.h
x11term.o : x11term.c x11term.h termhooks.h termopts.h termchar.h  dispextern.h config.h sink.h sinkmask.h  screen.h screenW.h screenX.h
xutil.o : xutil.c screen.h screenW.h screenX.h xdefault.h xresource.h
alloc.o : alloc.c window.h buffer.h config.h 
bytecode.o : bytecode.c buffer.h config.h 
data.o : data.c buffer.h config.h 
eval.o : eval.c commands.h config.h
fns.o : fns.c buffer.h commands.h config.h
print.o : print.c process.h window.h buffer.h config.h 
lread.o : lread.c buffer.h paths.h config.h 
sunfns.o  : sunfns.c buffer.h config.h
${etcdir}emacstool: ${etcdir}emacstool.c
	cd ${etcdir}; make ${MFLAGS} emacstool
