view man/Makefile.in @ 59146:9bde7721ad0f

* dispextern.h: Change HAVE_CARBON to MAC_OS. (struct glyph_string): Likewise. * emacs.c (main) [MAC_OS8]: Call mac_term_init instead of mac_initialize. * fileio.c (Fnext_read_file_uses_dialog_p, Fread_file_name): Change TARGET_API_MAC_CARBON to HAVE_CARBON. * fns.c (vector): Change MAC_OSX to MAC_OS. * frame.c (x_set_frame_parameters, x_report_frame_params) (x_set_fullscreen): Remove #ifndef HAVE_CARBON. (x_set_border_width, Vdefault_frame_scroll_bars): Change HAVE_CARBON to MAC_OS. * image.c [MAC_OS]: Include sys/stat.h. [MAC_OS && !MAC_OSX]: Include sys/param.h, ImageCompression.h, and QuickTimeComponents.h. * mac.c [!MAC_OSX] (mac_wait_next_event): Add extern. [!MAC_OSX] (select): Use mac_wait_next_event. [!MAC_OSX] (run_mac_command): Change EXEC_SUFFIXES to Vexec_suffixes. [!MAC_OSX] (select, run_mac_command): Change `#ifdef TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'. (mac_clear_font_name_table): Add extern. (Fmac_clear_font_name_table): New defun. (syms_of_mac): Defsubr it. [MAC_OSX] (SELECT_POLLING_PERIOD_USEC): New define. [MAC_OSX] (select_and_poll_event): New function. [MAC_OSX] (sys_select): Use it. [MAC_OSX && SELECT_USE_CFSOCKET] (socket_callback): New function. [MAC_OSX && SELECT_USE_CFSOCKET] (SELECT_TIMEOUT_THRESHOLD_RUNLOOP, EVENT_CLASS_SOCK): New defines. [MAC_OSX] (sys_select) [SELECT_USE_CFSOCKET]: Use CFSocket and RunLoop for simultaneously monitoring two kinds of inputs, window events and process outputs, without periodically polling. * macfns.c (mac_initialized): Remove extern. (stricmp): Put in #if 0. All callers changed to use xstricmp in xfaces.c. (strnicmp): Decrement `n' at the end of each loop, not the beginning. (check_mac): Use the term "Mac native windows" instead of "Mac OS". (check_x_display_info, x_display_info_for_name): Sync with xfns.c. (mac_get_rdb_resource): New function (from w32reg.c). (x_get_string_resource): Use it. (install_window_handler): Add extern. (mac_window): New function. (Fx_create_frame): Use it instead of make_mac_frame. Set parameter for Qfullscreen. Call x_wm_set_size_hint. (Fx_open_connection, Fx_close_connection): New defuns. (syms_of_macfns): Defsubr them. (x_create_tip_frame) [TARGET_API_MAC_CARBON]: Add kWindowNoUpdatesAttribute to the window attribute. (x_create_tip_frame) [!TARGET_API_MAC_CARBON]: Use NewCWindow. (x_create_tip_frame): Don't call ShowWindow. (Fx_show_tip): Call ShowWindow. (Fx_file_dialog): Change `#ifdef TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'. (mac_frame_parm_handlers): Set handlers for Qfullscreen. (syms_of_macfns) [MAC_OSX]: Initialize mac_in_use to 0. * macgui.h [!MAC_OSX]: Don't include Controls.h. Include Windows.h. (Window): Typedef to WindowPtr and move outside `#if TARGET_API_MAC_CARBON'. (XSizeHints): New struct. * macterm.c (x_update_begin, x_update_end) [TARGET_API_MAC_CARBON]: Disable screen updates during update of a frame. (x_draw_glyph_string_background, x_draw_glyph_string_foreground) [MAC_OS8]: Use XDrawImageString/XDrawImageString16. (construct_mouse_click): Put in #if 0. (x_check_fullscreen, x_check_fullscreen_move): Remove decls. (x_scroll_bar_create, x_scroll_bar_handle_click): Change `#ifdef TARGET_API_MAC_CARBON' to `#if TARGET_API_MAC_CARBON'. (activate_scroll_bars, deactivate_scroll_bars) [!TARGET_API_MAC_CARBON]: Use ActivateControl/DeactivateControl. (x_make_frame_visible) [TARGET_API_MAC_CARBON]: Reposition window if the position is neither user-specified nor program-specified. (x_free_frame_resources): Free size_hints. (x_wm_set_size_hint): Allocate size_hints if needed. Set size_hints. (mac_clear_font_name_table): New function. (mac_do_list_fonts): Initialize font_name_table if needed. (x_list_fonts): Don't initialize font_name_table. Add BLOCK_INPUT around mac_do_list_fonts. (mac_unload_font): New function. (x_load_font): Add BLOCK_INPUT around XLoadQueryFont. (init_mac_drag_n_drop, mac_do_receive_drag): Enclose declarations and definitions with #if TARGET_API_MAC_CARBON. [USE_CARBON_EVENTS] (mac_handle_window_event): Add decl. (install_window_handler): Add decl. (do_window_update): Add BeginUpdate/EndUpdate for the tooltip window. Use UpdateControls. Get the rectangle that should be updated and restrict the target of expose_frame to it. (do_grow_window): Set minimum height/width according to size_hints. (do_grow_window) [TARGET_API_MAC_CARBON]: Use ResizeWindow. (do_zoom_window): Don't use x_set_window_size. [USE_CARBON_EVENTS] (mac_handle_window_event): New function. (install_window_handler): New function. [!USE_CARBON_EVENTS] (mouse_region): New variable. [!USE_CARBON_EVENTS] (mac_wait_next_event): New function. (XTread_socket) [USE_CARBON_EVENTS]: Move call to GetEventDispatcherTarget inside BLOCK_INPUT. (XTread_socket) [!USE_CARBON_EVENTS]: Use mac_wait_next_event. Update mouse_region when mouse is moved. (make_mac_frame): Remove. (make_mac_terminal_frame): Put in #ifdef MAC_OS8. Initialize mouse pointer shapes. Change values of f->left_pos and f->top_pos. Don't use make_mac_frame. Use NewCWindow. Don't call ShowWindow. (mac_initialize_display_info) [MAC_OSX]: Create mac_id_name from Vinvocation_name and Vsystem_name. (mac_make_rdb): New function (from w32term.c). (mac_term_init): Use it. Add BLOCK_INPUT. Error if display has already been opened. Don't pass argument to mac_initialize_display_info. Don't set dpyinfo->height/width. Add entries to x_display_list and x_display_name_list. (x_delete_display): New function. (mac_initialize): Don't call mac_initialize_display_info. (syms_of_macterm) [!MAC_OSX]: Don't call Fprovide. * macterm.h (check_mac): Add extern. (struct mac_output): New member size_hints. (FRAME_SIZE_HINTS): New macro. (mac_unload_font): Add extern. * xdisp.c (expose_window, expose_frame): Remove kludges for Mac. * xfaces.c (clear_font_table) [MAC_OS]: call mac_unload_font.
author Steven Tamm <steventamm@mac.com>
date Mon, 27 Dec 2004 17:27:30 +0000
parents 27baac8434ba
children dc9f687acb18 f2ebccfa87d4
line wrap: on
line source

#### Makefile for the Emacs Manual and other documentation.

# Copyright (C) 1994, 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004
#  Free Software Foundation, Inc.

# 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., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.

# Where to find the source code.  $(srcdir) will be the man
# subdirectory of the source tree.  This is
# set by the configure script's `--srcdir' option.
srcdir=@srcdir@
top_srcdir=@top_srcdir@

# Tell make where to find source files; this is needed for the makefiles.
VPATH=@srcdir@


# The makeinfo program is part of the Texinfo distribution.
MAKEINFO = makeinfo
INFO_TARGETS = ../info/emacs ../info/emacs-xtra ../info/ccmode ../info/cl \
	        ../info/dired-x ../info/ediff ../info/forms ../info/gnus \
		../info/message ../info/sieve ../info/pgg ../info/emacs-mime \
		../info/info ../info/mh-e ../info/reftex \
		../info/sc ../info/vip ../info/viper ../info/widget \
		../info/efaq ../info/ada-mode ../info/autotype ../info/calc \
		../info/idlwave ../info/eudc ../info/ebrowse ../info/pcl-cvs \
		../info/woman ../info/eshell ../info/org ../info/url \
		../info/speedbar ../info/tramp ../info/ses ../info/smtpmail \
		../info/flymake
DVI_TARGETS = 	emacs.dvi calc.dvi cc-mode.dvi cl.dvi dired-x.dvi \
		 ediff.dvi forms.dvi gnus.dvi message.dvi emacs-mime.dvi \
                 gnus.dvi message.dvi sieve.dvi pgg.dvi mh-e.dvi \
		 reftex.dvi sc.dvi vip.dvi viper.dvi widget.dvi faq.dvi \
		 ada-mode.dvi autotype.dvi idlwave.dvi eudc.dvi ebrowse.dvi \
		 pcl-cvs.dvi woman.dvi eshell.dvi org.dvi url.dvi \
		 speedbar.dvi tramp.dvi ses.dvi smtpmail.dvi flymake.dvi \
                 emacs-xtra.dvi
INFOSOURCES = info.texi

# The following rule does not work with all versions of `make'.
.SUFFIXES: .texi .dvi
.texi.dvi:
	texi2dvi $<

TEXI2DVI = texi2dvi
ENVADD = TEXINPUTS="$(srcdir):$(TEXINPUTS)" MAKEINFO="$(MAKEINFO) -I$(srcdir)"

EMACSSOURCES= \
	${srcdir}/emacs.texi \
	${srcdir}/doclicense.texi \
	${srcdir}/screen.texi \
	${srcdir}/commands.texi \
	${srcdir}/entering.texi \
	${srcdir}/basic.texi \
	${srcdir}/mini.texi \
	${srcdir}/m-x.texi \
	${srcdir}/help.texi \
	${srcdir}/mark.texi \
	${srcdir}/killing.texi \
	${srcdir}/regs.texi \
	${srcdir}/display.texi \
	${srcdir}/search.texi \
	${srcdir}/fixit.texi \
	${srcdir}/files.texi \
	${srcdir}/buffers.texi \
	${srcdir}/windows.texi \
	${srcdir}/frames.texi \
	${srcdir}/mule.texi \
	${srcdir}/major.texi \
	${srcdir}/indent.texi \
	${srcdir}/text.texi \
	${srcdir}/programs.texi \
	${srcdir}/building.texi \
	${srcdir}/maintaining.texi \
	${srcdir}/abbrevs.texi \
	${srcdir}/picture.texi \
	${srcdir}/sending.texi \
	${srcdir}/rmail.texi \
	${srcdir}/dired.texi \
	${srcdir}/calendar.texi \
	${srcdir}/misc.texi \
	${srcdir}/custom.texi \
	${srcdir}/trouble.texi \
	${srcdir}/cmdargs.texi \
	${srcdir}/xresources.texi \
	${srcdir}/anti.texi \
	${srcdir}/macos.texi \
	${srcdir}/msdog.texi \
	${srcdir}/gnu.texi \
	${srcdir}/glossary.texi \
	${srcdir}/ack.texi \
	${srcdir}/kmacro.texi

info: $(top_srcdir)/info $(INFO_TARGETS)

$(top_srcdir)/info:
	mkdir $@

dvi: $(DVI_TARGETS)

# Note that all the Info targets build the Info files
# in srcdir.  There is no provision for Info files
# to exist in the build directory.
# In a distribution of Emacs, the Info files should be up to date.

# The following target uses an explicit -o switch to work around
# the @setfilename directive in info.texi, which is required for
# the Texinfo distribution.

../info/info: ${INFOSOURCES}
	cd $(srcdir); $(MAKEINFO) --no-split info.texi -o $@

info.dvi: ${INFOSOURCES}
	$(ENVADD) $(TEXI2DVI) ${srcdir}/info.texi

../info/emacs: ${EMACSSOURCES}
	cd $(srcdir); $(MAKEINFO) emacs.texi

emacs.dvi: ${EMACSSOURCES}
	$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs.texi

# This target is here so you could easily get the list of the *.texi
# files which belong to the Emacs manual (as opposed to the separate
# manuals for CL, CC Mode, Ebrowse, etc.).  With this target, you can
# say things like "grep foo `make emacsman`".
emacsman:
	@echo $(EMACSSOURCES)

../info/ccmode: cc-mode.texi
	cd $(srcdir); $(MAKEINFO) cc-mode.texi
cc-mode.dvi: cc-mode.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/cc-mode.texi

../info/ada-mode: ada-mode.texi
	cd $(srcdir); $(MAKEINFO) ada-mode.texi
ada-mode.dvi: ada-mode.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/ada-mode.texi

../info/pcl-cvs: pcl-cvs.texi
	cd $(srcdir); $(MAKEINFO) pcl-cvs.texi
pcl-cvs.dvi: pcl-cvs.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/pcl-cvs.texi

../info/eshell: eshell.texi
	cd $(srcdir); $(MAKEINFO) eshell.texi
eshell.dvi: eshell.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/eshell.texi

../info/cl: cl.texi
	cd $(srcdir); $(MAKEINFO) cl.texi
cl.dvi: cl.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/cl.texi

../info/dired-x: dired-x.texi
	cd $(srcdir); $(MAKEINFO) dired-x.texi
dired-x.dvi: dired-x.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/dired-x.texi

../info/ediff: ediff.texi
	cd $(srcdir); $(MAKEINFO) ediff.texi
ediff.dvi: ediff.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/ediff.texi

../info/emacs-xtra: emacs-xtra.texi
	cd $(srcdir); $(MAKEINFO) emacs-xtra.texi
emacs-xtra.dvi: emacs-xtra.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-xtra.texi

../info/forms: forms.texi
	cd $(srcdir); $(MAKEINFO) forms.texi
forms.dvi: forms.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/forms.texi

# gnus/message/emacs-mime/sieve/pgg are part of Gnus:
../info/gnus: gnus.texi gnus-faq.texi
	cd $(srcdir); $(MAKEINFO) gnus.texi
gnus.dvi: gnus.texi gnus-faq.texi
	sed -e '/@iflatex/,/@end iflatex/d' ${srcdir}/gnus.texi > gnustmp.texi
	$(ENVADD) $(TEXI2DVI) gnustmp.texi
	cp gnustmp.dvi $*.dvi
	rm gnustmp.*

../info/message: message.texi
	cd $(srcdir); $(MAKEINFO) message.texi
message.dvi: message.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/message.texi

../info/sieve: sieve.texi
	cd $(srcdir); $(MAKEINFO) sieve.texi
sieve.dvi: sieve.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/sieve.texi

../info/emacs-mime: emacs-mime.texi
	cd $(srcdir); $(MAKEINFO) emacs-mime.texi
emacs-mime.dvi: emacs-mime.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-mime.texi

../info/pgg: pgg.texi
	cd $(srcdir); $(MAKEINFO) pgg.texi
pgg.dvi: pgg.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/pgg.texi

../info/mh-e: mh-e.texi
	cd $(srcdir); $(MAKEINFO) mh-e.texi
mh-e.dvi: mh-e.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/mh-e.texi

../info/reftex: reftex.texi
	cd $(srcdir); $(MAKEINFO) reftex.texi
reftex.dvi: reftex.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/reftex.texi

../info/sc: sc.texi
	cd $(srcdir); $(MAKEINFO) sc.texi
sc.dvi: sc.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/sc.texi

../info/vip: vip.texi
	cd $(srcdir); $(MAKEINFO) vip.texi
vip.dvi: vip.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/vip.texi

../info/viper: viper.texi
	cd $(srcdir); $(MAKEINFO) viper.texi
viper.dvi: viper.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/viper.texi

../info/widget: widget.texi
	cd $(srcdir); $(MAKEINFO) widget.texi
widget.dvi: widget.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/widget.texi

../info/efaq: faq.texi
	cd $(srcdir); $(MAKEINFO) faq.texi
faq.dvi: faq.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/faq.texi

../etc/GNU: gnu1.texi gnu.texi
	cd $(srcdir) && makeinfo --no-headers -o ../etc/GNU gnu1.texi

../info/autotype: autotype.texi
	cd $(srcdir); $(MAKEINFO) autotype.texi
autotype.dvi: autotype.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/autotype.texi

../info/calc: calc.texi
	cd $(srcdir); $(MAKEINFO) calc.texi

calc.dvi: calc.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/calc.texi

# This is produced with --no-split to avoid making files whose
# names clash on DOS 8+3 filesystems
../info/idlwave: idlwave.texi
	cd $(srcdir); $(MAKEINFO) --no-split idlwave.texi
idlwave.dvi: idlwave.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/idlwave.texi

../info/eudc: eudc.texi
	cd $(srcdir); $(MAKEINFO) eudc.texi
eudc.dvi: eudc.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/eudc.texi

../info/ebrowse: ebrowse.texi
	cd $(srcdir); $(MAKEINFO) ebrowse.texi
ebrowse.dvi: ebrowse.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/ebrowse.texi

../info/woman: woman.texi
	cd $(srcdir); $(MAKEINFO) woman.texi
woman.dvi: woman.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/woman.texi

../info/org: org.texi
	cd $(srcdir); $(MAKEINFO) org.texi
org.dvi: org.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/org.texi

../info/url: url.texi
	cd $(srcdir); $(MAKEINFO) url.texi
url.dvi: url.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/url.texi

../info/speedbar: speedbar.texi
	cd $(srcdir); $(MAKEINFO) speedbar.texi
speedbar.dvi: speedbar.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/speedbar.texi

../info/tramp: tramp.texi trampver.texi
	cd $(srcdir); $(MAKEINFO) -D emacs tramp.texi
tramp.dvi: tramp.texi trampver.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/tramp.texi

../info/ses: ses.texi
	cd $(srcdir); $(MAKEINFO) ses.texi
ses.dvi: ses.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/ses.texi

../info/smtpmail: smtpmail.texi
	cd $(srcdir); $(MAKEINFO) smtpmail.texi
smtpmail.dvi: smtpmail.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/smtpmail.texi

../info/flymake: flymake.texi
	cd $(srcdir); $(MAKEINFO) flymake.texi
flymake.dvi: flymake.texi
	$(ENVADD) $(TEXI2DVI) ${srcdir}/flymake.texi

mostlyclean:
	rm -f *.log *.cp *.fn *.ky *.pg *.vr core *.tp *.core gnustmp.*

clean: mostlyclean
	rm -f *.dvi

distclean: clean

maintainer-clean: distclean
	rm -f *.aux *.cps *.fns *.kys *.pgs *.vrs *.toc
	for file in $(INFO_TARGETS); do rm -f $${file}*; done


# Formerly this directory had texindex.c and getopt.c in it
# and this makefile built them to make texindex.
# That caused trouble because this is run entirely in the source directory.
# Since we expect to get texi2dvi from elsewhere,
# it is ok to expect texindex from elsewhere also.