makefile.MPW   [plain text]


#    Make file for building GNU Emacs on the Macintosh.
#    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
#       2005, 2006, 2007  Free Software Foundation, Inc.
#
#    Author: Andrew Choi <akochoi@users.sourceforge.net>
#
# This file is part of GNU Emacs.
#
# GNU Emacs is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# GNU Emacs is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GNU Emacs; see the file COPYING.  If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.  */
#
# Defines the following targets:
#   Emacs (default) - normal Carbon Emacs build.
#   NonCarbon - non-Carbon Emacs build.
#   Clean - remove all object and executable files to prepare for a fresh build.
#   Doc - generate the "DOC" file in ~emacs/etc/.
#   Make-DocFile - build the make-docfile tool, utility for generating "DOC".

Src = ::src:						# emacs's src directory
Includes = :inc:					# mac includes directory (common for MPW and CW)
Source = :src:						# mac source directory
Lib-Src = ::lib-src:				# ~emacs/lib-src directory, containing make-docfile.c
EmacsTarget = :Emacs MPW			# pathname of target executable file
DocTarget = ::etc:					# where the generated DOC file should be placed
Lisp = ::lisp:						# emacs's lisp directory
Make-DocFileDir = {Lib-Src}			# directory containing make-docfile tool

Makefile = makefile.MPW			# self reference
NonCarbonMakeOut = NonCarbon.MakeOut	# temporary file for non-Carbon build script

CarbonOption = -d HAVE_CARBON
SymOption = # -sym on			# remove hash mark before "-sym on" to enable source debugging
OptOption = # -opt speed			# alternatively set to -opt off or -opt size

# The -noMapCR options and the two -d's must not be removed.

PPCCOptions = {SymOption} {OptOption} -noMapCR -enum int -alloca 
	-typecheck relaxed -w off 
	-includes unix -i {Includes},{Src} 
	-d emacs=1 -d HAVE_CONFIG_H -d MAC_OS -d MAC_OS8 {CarbonOption}

LinkOptions = {SymOption} -d

CONFIG_H_GROUP = "{Includes}config.h" "{Includes}s-mac.h" "{Includes}utsname.h" "{Includes}m-mac.h"
DISPEXTERN_H_GROUP = "{Src}dispextern.h" "{Src}macgui.h"
INTERVALS_H_GROUP = "{Src}intervals.h" "{Src}dispextern.h" "{Src}macgui.h"
WINDOW_H_GROUP = "{Src}window.h" {DISPEXTERN_H_GROUP}
BLOCKINPUT_H_GROUP = "{Src}blockinput.h" "{Src}atimer.h" "{Src}systime.h" 
  "{Includes}sys:time.h" "{Includes}sys:time.h"

# The list all object files from the GNU Emacs 21.0 distribution.

EmacsObjects = 
	"{Src}abbrev.c.x" 
	"{Src}alloc.c.x" 
	"{Src}atimer.c.x" 
	"{Src}buffer.c.x" 
	"{Src}bytecode.c.x" 
	"{Src}callint.c.x" 
	"{Src}callproc.c.x" 
	"{Src}casefiddle.c.x" 
	"{Src}casetab.c.x" 
	"{Src}category.c.x" 
	"{Src}ccl.c.x" 
	"{Src}charset.c.x" 
	"{Src}cm.c.x" 
	"{Src}cmds.c.x" 
	"{Src}coding.c.x" 
	"{Src}composite.c.x" 
	"{Src}data.c.x" 
	"{Src}dired.c.x" 
	"{Src}dispnew.c.x" 
	"{Src}doc.c.x" 
	"{Src}doprnt.c.x" 
	"{Src}editfns.c.x" 
	"{Src}emacs.c.x" 
	"{Src}eval.c.x" 
	"{Src}fileio.c.x" 
	"{Src}filemode.c.x" 
	"{Src}floatfns.c.x" 
	"{Src}fns.c.x" 
	"{Src}fontset.c.x" 
	"{Src}frame.c.x" 
	"{Src}fringe.c.x" 
	"{Src}getloadavg.c.x" 
	"{Src}image.c.x" 
	"{Src}indent.c.x" 
	"{Src}insdel.c.x" 
	"{Src}intervals.c.x" 
	"{Src}keyboard.c.x" 
	"{Src}keymap.c.x" 
	"{Src}lread.c.x" 
	"{Src}macros.c.x" 
	"{Src}marker.c.x" 
	"{Src}md5.c.x" 
	"{Src}minibuf.c.x" 
	"{Src}mktime.c.x" 
	"{Src}print.c.x" 
	"{Src}process.c.x" 
	"{Src}regex.c.x" 
	"{Src}region-cache.c.x" 
	"{Src}scroll.c.x" 
	"{Src}search.c.x" 
	"{Src}strftime.c.x" 
	"{Src}syntax.c.x" 
	"{Src}sysdep.c.x" 
	"{Src}term.c.x" 
	"{Src}termcap.c.x" 
	"{Src}textprop.c.x" 
	"{Src}tparam.c.x" 
	"{Src}undo.c.x" 
	"{Src}window.c.x" 
	"{Src}xdisp.c.x" 
	"{Src}xfaces.c.x" 
	"{Src}lastfile.c.x"

# The list of object files generated from new source files of the Macintosh port.

MacObjects = 
	"{Src}mac.c.x" 
	"{Src}macfns.c.x" 
	"{Src}macmenu.c.x" 
	"{Src}macselect.c.x" 
	"{Src}macterm.c.x"

StdLibraries = 
	"{SharedLibraries}CarbonLib" 
	"{SharedLibraries}StdCLib" 
	"{PPCLibraries}StdCRuntime.o" 
	"{PPCLibraries}PPCCRuntime.o"

NonCarbonLibs = 
	"{SharedLibraries}InterfaceLib" 
	"{SharedLibraries}StdCLib" 
	"{SharedLibraries}MathLib" 
	"{SharedLibraries}AppleScriptLib" 
	"{SharedLibraries}LocalesLib" 
	"{SharedLibraries}AppearanceLib" 
	"{SharedLibraries}QuickTimeLib" 
	"{PPCLibraries}StdCRuntime.o" 
	"{PPCLibraries}PPCCRuntime.o" 
	"{PPCLibraries}PPCToolLibs.o"

# The next two are the dependency rules for building Emacs.

Emacs  {Makefile} buildobj.lst {DocTarget}DOC {EmacsObjects} {MacObjects}
	PPCLink 
		{LinkOptions} 
		{EmacsObjects} {MacObjects} 
		{StdLibraries} 
		-o "{EmacsTarget}"

Emacs  {Makefile} "{Source}"Emacs.maclf.r "{Source}"EmacsMPW.maclf.r
	Rez {CarbonOption} -a "{Source}"Emacs.maclf.r -o "{EmacsTarget}"
	Rez {CarbonOption} -a "{Source}"EmacsMPW.maclf.r -o "{EmacsTarget}"
	SetFile "{EmacsTarget}" -t APPL -c 'EMAx' -a B

NonCarbon 
	Make -f "{Makefile}" -d CarbonOption="" -d StdLibraries='{NonCarbonLibs}' > "{NonCarbonMakeOut}"
	"{NonCarbonMakeOut}"

# Rez cannot handle files with Unix style end lines at all.  So generate
# them.  It does not hurt if Emacs.r and EmacsMPW.r already have Mac end
# lines.

"{Source}"Emacs.maclf.r  "{Source}"Emacs.r
	translate 0x0a n < "{Source}"Emacs.r > "{Source}"Emacs.maclf.r

"{Source}"EmacsMPW.maclf.r  "{Source}"EmacsMPW.r
	translate 0x0a n < "{Source}"EmacsMPW.r > "{Source}"EmacsMPW.maclf.r

buildobj.lst 
	Echo "{EmacsObjects} {MacObjects}" | StreamEdit -e '1,$ Replace -c  /[ ]*:([: ]*)1.c.x/ 1".o"' > buildobj.lst

# Here comes a long boring list of rules saying which files depend on which
# other ones.  I generated them by hand using the "-p" option of the MrC compiler.
# Know about MakeMake, but this is probably more accurate.

{Src}abbrev.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}commands.h" 
	"{Src}buffer.h" 
	{WINDOW_H_GROUP} 
	"{Src}charset.h" 
	"{Src}syntax.h"

{Src}alloc.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	{INTERVALS_H_GROUP} 
	"{Src}puresize.h" 
	"{Src}buffer.h" 
	{WINDOW_H_GROUP} 
	"{Src}frame.h" 
	{BLOCKINPUT_H_GROUP} 
	"{Src}keyboard.h" 
	"{Src}charset.h" 
	"{Src}syssignal.h"

{Src}alloca.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	{BLOCKINPUT_H_GROUP}

{Src}atimer.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}syssignal.h" 
	"{Src}systime.h" 
		"{Includes}sys:time.h" 
	{BLOCKINPUT_H_GROUP} 
	"{Src}atimer.h" 
	"{Includes}sys:time.h"

{Src}buffer.c.x  
	{CONFIG_H_GROUP} 
	"{Includes}sys:types.h" 
	"{Includes}sys:stat.h" 
	"{Includes}sys:param.h" 
	"{Src}lisp.h" 
	{INTERVALS_H_GROUP} 
	"{Src}window.h" 
	"{Src}commands.h" 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	"{Src}region-cache.h" 
	"{Src}indent.h" 
	{BLOCKINPUT_H_GROUP} 
	"{Src}frame.h"

{Src}bytecode.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	"{Src}syntax.h"

{Src}callint.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}buffer.h" 
	"{Src}commands.h" 
	"{Src}keyboard.h" 
	{WINDOW_H_GROUP}

{Src}callproc.c.x  
	{CONFIG_H_GROUP} 
	"{Includes}sys:types.h" 
	"{Includes}sys:file.h" 
		"{Includes}sys:types.h" 
		"{Includes}sys:stat.h" 
	"{Src}lisp.h" 
	"{Src}commands.h" 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	"{Src}ccl.h" 
	"{Src}coding.h" 
	"{Src}composite.h" 
	"{Includes}epaths.h" 
	"{Src}process.h" 
	"{Src}syssignal.h" 
	"{Src}systty.h" 
		"{Includes}termio.h"

{Src}casefiddle  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	"{Src}commands.h" 
	"{Src}syntax.h" 
	"{Src}composite.h"

{Src}casetab.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}buffer.h" 
	"{Src}charset.h"

{Src}category.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	"{Src}category.h"

{Src}ccl.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}charset.h" 
	"{Src}ccl.h" 
	"{Src}coding.h"

{Src}charset.c.x  
	{CONFIG_H_GROUP} 
	"{Includes}sys:types.h" 
	"{Src}lisp.h" 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	"{Src}coding.h" 
	"{Src}ccl.h" 
	"{Src}disptab.h"

{Src}cm.c.x  
	{CONFIG_H_GROUP} 
	"{Src}cm.h" 
	"{Src}termhooks.h"

{Src}cmds.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}commands.h" 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	"{Src}syntax.h" 
	{WINDOW_H_GROUP} 
	"{Src}keyboard.h" 
	{DISPEXTERN_H_GROUP}

{Src}coding.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	"{Src}composite.h" 
	"{Src}ccl.h" 
	"{Src}coding.h" 
	{WINDOW_H_GROUP}

{Src}composite.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	{INTERVALS_H_GROUP}

{Src}data.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}puresize.h" 
	"{Src}charset.h" 
	"{Src}buffer.h" 
	"{Src}keyboard.h" 
	"{Src}frame.h" 
	"{Src}syssignal.h"

{Src}dired.c.x  
	{CONFIG_H_GROUP} 
	"{Includes}sys:types.h" 
	"{Includes}sys:stat.h" 
	"{Src}systime.h" 
		"{Includes}sys:time.h" 
	"{Includes}dirent.h" 
	"{Src}lisp.h" 
	"{Src}buffer.h" 
	"{Src}commands.h" 
	"{Src}charset.h" 
	"{Src}coding.h" 
		"{Src}ccl.h" 
	"{Src}regex.h" 
	{BLOCKINPUT_H_GROUP}

{Src}dispnew.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}termchar.h" 
	"{Src}termopts.h" 
	"{Src}termhooks.h" 
	{DISPEXTERN_H_GROUP} 
	"{Src}cm.h" 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	{WINDOW_H_GROUP} 
	"{Src}commands.h" 
	"{Src}disptab.h" 
	"{Src}indent.h" 
	{INTERVALS_H_GROUP} 
	{BLOCKINPUT_H_GROUP} 
	"{Src}process.h" 
	"{Src}keyboard.h" 
	"{Src}syssignal.h" 
	"{Src}macterm.h" 
		"{Src}macgui.h" 
		"{Src}frame.h" 
	"{Src}systime.h"

{Src}doc.c.x  
	{CONFIG_H_GROUP} 
	"{Includes}sys:types.h" 
	"{Includes}sys:file.h" 
	"{Src}lisp.h" 
	"{Src}buffer.h" 
	"{Src}keyboard.h" 
	"{Src}charset.h"

{Src}doprnt.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}charset.h"

{Src}editfns.c.x  
	{CONFIG_H_GROUP} 
	"{Includes}sys:types.h" 
	"{Includes}pwd.h" 
	"{Src}lisp.h" 
	{INTERVALS_H_GROUP} 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	"{Src}coding.h" 
	"{Src}ccl.h" 
	{WINDOW_H_GROUP} 
	"{Src}systime.h" 
		"{Includes}sys:time.h" 
	{BLOCKINPUT_H_GROUP}

{Src}emacs.c.x  
	{CONFIG_H_GROUP} 
	"{Includes}sys:types.h" 
	"{Includes}sys:file.h" 
		"{Includes}sys:types.h" 
		"{Includes}sys:stat.h" 
	"{Src}lisp.h" 
	"{Src}commands.h" 
	{INTERVALS_H_GROUP} 
	"{Src}buffer.h" 
	"{Src}systty.h" 
		"{Includes}termio.h" 
	{BLOCKINPUT_H_GROUP} 
	"{Src}syssignal.h" 
	"{Src}process.h" 
	"{Src}termhooks.h" 
	"{Src}keyboard.h" 
	"{Src}frame.h"

{Src}eval.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	{BLOCKINPUT_H_GROUP} 
	"{Src}commands.h" 
	"{Src}keyboard.h" 
	{DISPEXTERN_H_GROUP}

{Src}fileio.c.x  
	{CONFIG_H_GROUP} 
	"{Includes}sys:types.h" 
	"{Includes}sys:stat.h" 
	"{Includes}pwd.h" 
	"{Src}lisp.h" 
	{INTERVALS_H_GROUP} 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	"{Src}coding.h" 
		"{Src}ccl.h" 
	{WINDOW_H_GROUP} 
	"{Src}systime.h" 
		"{Includes}sys:time.h" 
	"{Src}commands.h" 
	{BLOCKINPUT_H_GROUP}

{Src}filemode.c.x  
	{CONFIG_H_GROUP} 
	"{Includes}sys:types.h" 
	"{Includes}sys:stat.h"

{Src}floatfns.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}syssignal.h"

{Src}fns.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}commands.h" 
	"{Src}charset.h" 
	"{Src}buffer.h" 
	"{Src}keyboard.h" 
	{INTERVALS_H_GROUP} 
	"{Src}frame.h" 
	{WINDOW_H_GROUP}

{Src}fontset.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	"{Src}ccl.h" 
	"{Src}frame.h" 
	{DISPEXTERN_H_GROUP} 
	"{Src}fontset.h" 
	{WINDOW_H_GROUP}

{Src}frame.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}charset.h" 
	"{Src}fontset.h" 
	"{Src}macterm.h" 
		"{Src}macgui.h" 
		"{Src}frame.h" 
	"{Src}frame.h" 
	"{Src}fontset.h" 
	"{Src}termhooks.h" 
	{BLOCKINPUT_H_GROUP} 
	{DISPEXTERN_H_GROUP} 
	{WINDOW_H_GROUP} 
	"{Src}buffer.h" 
	"{Src}commands.h" 
	"{Src}keyboard.h"

{Src}fringe.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}frame.h" 
	{WINDOW_H_GROUP} 
	"{Src}buffer.h" 
	{BLOCKINPUT_H_GROUP}

{Src}getloadavg.c.x  
	{CONFIG_H_GROUP} 
	"{Includes}sys:types.h"

{Src}image.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}frame.h" 
	{WINDOW_H_GROUP} 
	{DISPEXTERN_H_GROUP} 
	{BLOCKINPUT_H_GROUP} 
	"{Includes}epaths.h" 
	"{Src}macterm.h" 
		"{Src}macgui.h" 
		"{Src}frame.h" 
	"{Includes}sys:stat.h" 
	"{Includes}alloca.h" 
	"{Includes}sys:param.h"

{Src}indent.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	"{Src}category.h" 
	"{Src}indent.h" 
	"{Src}frame.h" 
	{WINDOW_H_GROUP} 
	"{Src}termchar.h" 
	"{Src}termopts.h" 
	"{Src}disptab.h" 
	{INTERVALS_H_GROUP} 
	"{Src}region-cache.h"

{Src}insdel.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	{INTERVALS_H_GROUP} 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	{WINDOW_H_GROUP} 
	{BLOCKINPUT_H_GROUP} 
	"{Src}region-cache.h"

{Src}intervals.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	{INTERVALS_H_GROUP} 
	"{Src}buffer.h" 
	"{Src}puresize.h" 
	"{Src}keyboard.h"

{Src}keyboard.c.x  
	{CONFIG_H_GROUP} 
	"{Src}termchar.h" 
	"{Src}termopts.h" 
	"{Src}lisp.h" 
	"{Src}termhooks.h" 
	"{Src}macros.h" 
	"{Src}frame.h" 
	{WINDOW_H_GROUP} 
	"{Src}commands.h" 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	{DISPEXTERN_H_GROUP} 
	"{Src}keyboard.h" 
	"{Src}syntax.h" 
	{INTERVALS_H_GROUP} 
	{BLOCKINPUT_H_GROUP} 
	"{Src}puresize.h" 
	"{Src}systime.h" 
	"{Src}atimer.h" 
	"{Includes}sys:ioctl.h" 
	"{Src}syssignal.h" 
	"{Src}systty.h" 
		"{Includes}termio.h" 
	"{Includes}sys:types.h" 
	"{Src}macterm.h" 
		"{Src}macgui.h" 
		"{Src}frame.h" 
	"{Src}systime.h"

{Src}keymap.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}commands.h" 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	"{Src}keyboard.h" 
	"{Src}termhooks.h" 
	{BLOCKINPUT_H_GROUP} 
	"{Src}puresize.h" 
	{INTERVALS_H_GROUP}

{Src}lastfile.c.x  
	{CONFIG_H_GROUP}

{Src}lread.c.x  
	{CONFIG_H_GROUP} 
	"{Includes}sys:types.h" 
	"{Includes}sys:stat.h" 
	"{Includes}sys:file.h" 
	"{Src}lisp.h" 
	{INTERVALS_H_GROUP} 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	"{Includes}epaths.h" 
	"{Src}commands.h" 
	"{Src}keyboard.h" 
	"{Src}termhooks.h" 
	{BLOCKINPUT_H_GROUP}

{Src}macros.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}macros.h" 
	"{Src}commands.h" 
	"{Src}buffer.h" 
	{WINDOW_H_GROUP} 
	"{Src}keyboard.h"

{Src}marker.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}buffer.h" 
	"{Src}charset.h"

{Src}minibuf.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}commands.h" 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	{DISPEXTERN_H_GROUP} 
	"{Src}frame.h" 
	{WINDOW_H_GROUP} 
	"{Src}syntax.h" 
	"{Src}keyboard.h"

{Src}mktime.c.x  
	{CONFIG_H_GROUP} 
	"{Includes}sys:types.h"

{Src}print.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	"{Src}frame.h" 
	{WINDOW_H_GROUP} 
	"{Src}process.h" 
	{DISPEXTERN_H_GROUP} 
	"{Src}termchar.h" 
	"{Src}keyboard.h" 
	{INTERVALS_H_GROUP} 
	{BLOCKINPUT_H_GROUP}

{Src}process.c.x  
	{CONFIG_H_GROUP} 
	"{Includes}sys:types.h" 
	"{Src}lisp.h" 
	"{Src}systime.h" 
		"{Includes}sys:time.h" 
	"{Src}charset.h" 
	"{Src}coding.h" 
		"{Src}ccl.h" 
	"{Src}termopts.h" 
	"{Src}sysselect.h"

{Src}regex.c.x  
	{CONFIG_H_GROUP} 
	"{Includes}sys:types.h" 
	"{Src}lisp.h" 
	"{Src}buffer.h" 
	"{Src}syntax.h" 
	"{Src}charset.h" 
	"{Src}category.h" 
	"{Src}regex.h"

{Src}region-cache.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}buffer.h" 
	"{Src}region-cache.h"

{Src}scroll.c.x  
	{CONFIG_H_GROUP} 
	"{Src}termchar.h" 
	"{Src}lisp.h" 
	{DISPEXTERN_H_GROUP} 
	"{Src}frame.h" 
	{WINDOW_H_GROUP}

{Src}search.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}syntax.h" 
	"{Src}category.h" 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	"{Src}region-cache.h" 
	"{Src}commands.h" 
	{BLOCKINPUT_H_GROUP} 
	{INTERVALS_H_GROUP} 
	"{Includes}sys:types.h" 
	"{Src}regex.h"

{Src}strftime.c.x  
	{CONFIG_H_GROUP} 
	"{Includes}sys:types.h" 
	"{Includes}sys:time.h"

{Src}syntax.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}commands.h" 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	"{Src}syntax.h" 
	{INTERVALS_H_GROUP} 
	"{Src}category.h"

{Src}sysdep.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	{BLOCKINPUT_H_GROUP} 
	"{Includes}sys:types.h" 
	"{Includes}sys:stat.h" 
	"{Includes}sys:ioctl.h" 
	"{Src}syswait.h" 
		"{Includes}sys:types.h" 
	"{Src}frame.h" 
	{WINDOW_H_GROUP} 
	"{Src}termhooks.h" 
	"{Src}termchar.h" 
	"{Src}termopts.h" 
	{DISPEXTERN_H_GROUP} 
	"{Src}process.h" 
	"{Src}syssignal.h" 
	"{Src}systime.h" 
	"{Includes}utime.h" 
	"{Src}sysselect.h" 
	"{Includes}dirent.h" 
		"{Includes}sys:types.h"

{Src}term.c.x  
	{CONFIG_H_GROUP} 
	"{Src}termchar.h" 
	"{Src}termopts.h" 
	"{Src}lisp.h" 
	"{Src}charset.h" 
	"{Src}coding.h" 
		"{Src}ccl.h" 
	"{Src}frame.h" 
	"{Src}disptab.h" 
	"{Src}termhooks.h" 
	"{Src}keyboard.h" 
	{DISPEXTERN_H_GROUP} 
	{WINDOW_H_GROUP} 
	"{Src}cm.h" 
	"{Src}macterm.h" 
		"{Src}macgui.h" 
		"{Src}frame.h" 
	{BLOCKINPUT_H_GROUP}

{Src}termcap.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Includes}sys:file.h"

{Src}textproc.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	{INTERVALS_H_GROUP} 
	"{Src}buffer.h" 
	{WINDOW_H_GROUP}

{Src}tparam.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h"

{Src}undo.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}buffer.h" 
	"{Src}commands.h"

{Src}window.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}buffer.h" 
	"{Src}frame.h" 
	{WINDOW_H_GROUP} 
	"{Src}commands.h" 
	"{Src}indent.h" 
	"{Src}termchar.h" 
	"{Src}disptab.h" 
	"{Src}keyboard.h" 
	{DISPEXTERN_H_GROUP} 
	{BLOCKINPUT_H_GROUP} 
	{INTERVALS_H_GROUP} 
	"{Src}macterm.h" 
		"{Src}macgui.h" 
		"{Src}frame.h"

{Src}xdisp.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}frame.h" 
	{WINDOW_H_GROUP} 
	"{Src}termchar.h" 
	{DISPEXTERN_H_GROUP} 
	"{Src}buffer.h" 
	"{Src}charset.h" 
	"{Src}indent.h" 
	"{Src}commands.h" 
	"{Src}macros.h" 
	{BLOCKINPUT_H_GROUP} 
	"{Src}disptab.h" 
	"{Src}termhooks.h" 
	{INTERVALS_H_GROUP} 
	"{Src}keyboard.h" 
	"{Src}keymap.h" 
	"{Src}coding.h" 
		"{Src}ccl.h" 
	"{Src}process.h" 
	"{Src}region-cache.h" 
	"{Src}fontset.h" 
	"{Src}macterm.h" 
		"{Src}macgui.h" 
		"{Src}frame.h"

{Src}xfaces.c.x  
	{CONFIG_H_GROUP} 
	"{Includes}sys:types.h" 
	"{Includes}sys:stat.h" 
	"{Src}lisp.h" 
	"{Src}charset.h" 
	"{Src}frame.h" 
	"{Src}fontset.h" 
	"{Src}macterm.h" 
		"{Src}macgui.h" 
		"{Src}frame.h" 
	"{Src}buffer.h" 
	{DISPEXTERN_H_GROUP} 
	{BLOCKINPUT_H_GROUP} 
	{WINDOW_H_GROUP} 
	{INTERVALS_H_GROUP} 
	"{Src}keyboard.h"

{Src}macmenu.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}termhooks.h" 
	"{Src}frame.h" 
	{WINDOW_H_GROUP} 
	"{Src}keyboard.h" 
	{BLOCKINPUT_H_GROUP} 
	"{Src}buffer.h" 
	"{Includes}sys:types.h" 
	{DISPEXTERN_H_GROUP}

{Src}macselect.c.x  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}macterm.h" 
		"{Src}macgui.h" 
		"{Src}frame.h" 
	"{Src}keymap.h" 
	{BLOCKINPUT_H_GROUP}

{Src}mac.c  
	{CONFIG_H_GROUP} 
	"{Includes}utime.h" 
	"{Includes}dirent.h" 
		"{Includes}sys:types.h" 
	"{Includes}sys:stat.h" 
	"{Includes}pwd.h" 
		"{Includes}sys:types.h" 
	"{Includes}sys:param.h" 
	"{Src}lisp.h" 
	"{Src}process.h" 
	"{Src}sysselect.h" 
	"{Src}systime.h" 
		"{Includes}sys:time.h" 
	"{Includes}utsname.h" 
	"{Src}macterm.h" 
		"{Src}macgui.h" 
		"{Src}frame.h" 
	{BLOCKINPUT_H_GROUP} 
	"{Src}charset.h" 
	"{Src}coding.h" 
		"{Src}ccl.h"

{Src}macfns.c  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	"{Src}charset.h" 
	"{Src}macterm.h" 
		"{Src}macgui.h" 
		"{Src}frame.h" 
	"{Src}frame.h" 
	{WINDOW_H_GROUP} 
	"{Src}buffer.h" 
	{DISPEXTERN_H_GROUP} 
	"{Src}fontset.h" 
	{INTERVALS_H_GROUP} 
	"{Src}keyboard.h" 
	{BLOCKINPUT_H_GROUP} 
	"{Includes}epaths.h" 
	"{Src}termhooks.h" 
	"{Src}coding.h" 
		"{Src}ccl.h" 
	"{Src}systime.h" 
	"{Src}bitmaps:gray.xbm"

{Src}macterm.c  
	{CONFIG_H_GROUP} 
	"{Src}lisp.h" 
	{BLOCKINPUT_H_GROUP} 
	"{Src}syssignal.h" 
	"{Src}macterm.h" 
		"{Src}macgui.h" 
		"{Src}frame.h" 
	"{Includes}alloca.h" 
	"{Includes}sys:types.h" 
	"{Src}systty.h" 
		"{Includes}termio.h" 
	"{Src}systime.h" 
	"{Includes}sys:stat.h" 
	"{Src}charset.h" 
	"{Src}ccl.h" 
	"{Src}frame.h" 
	{DISPEXTERN_H_GROUP} 
	"{Src}fontset.h" 
	"{Src}termhooks.h" 
	"{Src}termopts.h" 
	"{Src}termchar.h" 
	"{Src}gnu.h" 
	"{Src}disptab.h" 
	"{Src}buffer.h" 
	{WINDOW_H_GROUP} 
	"{Src}keyboard.h" 
	{INTERVALS_H_GROUP} 
	"{Src}process.h" 
	"{Src}atimer.h" 
	"{Src}coding.h" 
		"{Src}ccl.h" 
	"{Includes}epaths.h" 
	"{Src}termhooks.h" 
	"{Src}coding.h" 
		"{Src}ccl.h"


#----------------------------------------#
# Variables and rules for target "Clean" #
#----------------------------------------#

Clean 
	Delete -i {EmacsObjects} {MacObjects}
	Delete -i "{EmacsTarget}"
	Delete -i stdout stderr
	Delete -i {Make-DocFile-Objects} {Make-DocFileDir}make-docfile
	Delete -i "{Source}"Emacs.maclf.r "{Source}"EmacsMPW.maclf.r
	Delete -i "{NonCarbonMakeOut}"
	Delete -i buildobj.lst

DistClean  Clean
	Delete -i "Emacs CW"
	Delete -y "emacs Data"
	Delete -i emacs.mcp

#--------------------------------------#
# Variables and rules for target "Doc" #
#--------------------------------------#

SOME_MACHINE_OBJECTS = sunfns.o dosfns.o msdos.o 
  xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o 
  mac.o macterm.o macfns.o macmenu.o macselect.o fontset.o 
  w32.o w32bdf.o w32console.o w32fns.o w32heap.o w32inevt.o 
  w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o

shortlisp = 
	{Lisp}abbrev.elc 
	{Lisp}buff-menu.elc 
	{Lisp}button.elc 
	{Lisp}emacs-lisp:byte-run.elc 
	{Lisp}cus-face.elc 
	{Lisp}cus-start.elc 
	{Lisp}custom.elc 
	{Lisp}emacs-lisp:backquote.elc 
	{Lisp}emacs-lisp:lisp-mode.elc 
	{Lisp}emacs-lisp:lisp.elc 
	{Lisp}facemenu.elc 
	{Lisp}faces.elc 
	{Lisp}files.elc 
	{Lisp}emacs-lisp:float-sup.elc 
	{Lisp}format.elc 
	{Lisp}frame.elc 
	{Lisp}help.elc 
	{Lisp}indent.elc 
	{Lisp}isearch.elc 
	{Lisp}rfn-eshadow.elc 
	{Lisp}loadup.el 
	{Lisp}loaddefs.el 
	{Lisp}bindings.elc 
	{Lisp}emacs-lisp:map-ynp.elc 
	{Lisp}env.elc 
	{Lisp}international:mule.elc 
	{Lisp}international:mule-conf.el 
	{Lisp}international:mule-cmds.elc 
	{Lisp}international:characters.elc 
	{Lisp}international:ucs-tables.elc 
	{Lisp}international:utf-8.elc 
	{Lisp}international:utf-16.elc 
	{Lisp}international:latin-1.el 
	{Lisp}international:latin-2.el 
	{Lisp}international:latin-3.el 
	{Lisp}international:latin-4.el 
	{Lisp}international:latin-5.el 
	{Lisp}international:latin-8.el 
	{Lisp}international:latin-9.el 
	{Lisp}case-table.elc 
	{Lisp}language:chinese.elc 
	{Lisp}language:cyrillic.elc 
	{Lisp}language:indian.elc 
	{Lisp}language:devanagari.el 
	{Lisp}language:kannada.el 
	{Lisp}language:malayalam.el 
	{Lisp}language:tamil.el 
	{Lisp}language:english.el 
	{Lisp}language:ethiopic.elc 
	{Lisp}language:european.elc 
	{Lisp}language:czech.el 
	{Lisp}language:slovak.el 
	{Lisp}language:romanian.el 
	{Lisp}language:greek.el 
	{Lisp}language:hebrew.el 
	{Lisp}language:japanese.el 
	{Lisp}language:korean.el 
	{Lisp}language:lao.el 
	{Lisp}language:thai.el 
	{Lisp}language:tibetan.elc 
	{Lisp}language:vietnamese.elc 
	{Lisp}language:misc-lang.el 
	{Lisp}language:utf-8-lang.el 
	{Lisp}language:georgian.el 
	{Lisp}menu-bar.elc 
	{Lisp}paths.el 
	{Lisp}register.elc 
	{Lisp}replace.elc 
	{Lisp}simple.elc 
	{Lisp}startup.elc 
	{Lisp}subr.elc 
	{Lisp}term:tty-colors.elc 
	{Lisp}font-core.elc 
	{Lisp}emacs-lisp:syntax.elc 
	{Lisp}font-lock.elc 
	{Lisp}jit-lock.elc 
	{Lisp}textmodes:fill.elc 
	{Lisp}textmodes:page.elc 
	{Lisp}textmodes:paragraphs.elc 
	{Lisp}textmodes:text-mode.elc 
	{Lisp}emacs-lisp:timer.elc 
	{Lisp}vc-hooks.elc 
	{Lisp}jka-cmpr-hook.elc 
	{Lisp}ediff-hook.elc 
	{Lisp}widget.elc 
	{Lisp}window.elc 
	{Lisp}version.el

SOME_MACHINE_LISP = {Lisp}mouse.elc 
  {Lisp}select.elc {Lisp}scroll-bar.elc 
  {Lisp}vmsproc.elc {Lisp}vms-patch.elc 
  {Lisp}ls-lisp.elc {Lisp}dos-fns.elc 
  {Lisp}w32-fns.elc {Lisp}dos-w32.elc 
  {Lisp}disp-table.elc {Lisp}dos-vars.elc 
  {Lisp}tooltip.elc {Lisp}image.elc 
  {Lisp}fringe.elc {Lisp}dnd.elc 
  {Lisp}mwheel.elc {Lisp}tool-bar.elc 
  {Lisp}x-dnd.elc 
  {Lisp}international:ccl.elc 
  {Lisp}international:codepage.elc 
  {Lisp}international:fontset.elc

Doc  {DocTarget}DOC

{DocTarget}DOC  {Makefile} {shortlisp} {SOME_MACHINE_LISP} {Make-DocFileDir}Make-DocFile buildobj.lst
	{Make-DocFileDir}make-docfile -d {Src} {SOME_MACHINE_OBJECTS} `Catenate buildobj.lst` > {DocTarget}DOC
	{Make-DocFileDir}make-docfile -a {DocTarget}DOC -d {Src} {SOME_MACHINE_LISP} {shortlisp}


#-----------------------------------------------#
# Variables and rules for target "Make-DocFile" #
#-----------------------------------------------#

Make-DocFile-Includes		= -i :inc:
Make-DocFile-Sym			=

Make-DocFile-PPCCOptions	= -typecheck relaxed -w off -noMapCR 
				  -d MAC_OS -d MAC_OS8 
				  {Make-DocFile-Includes} {Make-DocFile-Sym}

Make-DocFile-Objects = 
		"{Lib-Src}make-docfile.c.x" 
		"{Source}chdir.c.x"

Make-DocFile  {Make-DocFileDir}Make-DocFile

{Make-DocFileDir}Make-DocFile  {Makefile} {Make-DocFile-Objects}
	PPCLink 
		-o {Make-DocFileDir}Make-DocFile 
		{Make-DocFile-Sym} 
		{Make-DocFile-Objects} 
		-t 'MPST' 
		-c 'MPS ' 
		"{SharedLibraries}InterfaceLib" 
		"{SharedLibraries}StdCLib" 
		"{SharedLibraries}MathLib" 
		"{PPCLibraries}StdCRuntime.o" 
		"{PPCLibraries}PPCCRuntime.o" 
		"{PPCLibraries}PPCToolLibs.o"

"{Lib-Src}make-docfile.c.x"  {Makefile} "{Lib-Src}make-docfile.c"
	{PPCC} "{Lib-Src}make-docfile.c" -o "{Lib-Src}make-docfile.c.x" {Make-DocFile-PPCCOptions}

"{Source}chdir.c.x"  {Makefile} "{Source}chdir.c"
	{PPCC} "{Source}chdir.c" -o "{Source}chdir.c.x" {Make-DocFile-PPCCOptions}

# arch-tag: c9d9bc1a-142f-41da-b75e-79e0c44ffbb4