annotate Makefile.in.in @ 2720:6fa9919a9a0b

[xemacs-hg @ 2005-04-08 23:10:01 by crestani] ChangeLog addition: 2005-04-01  Marcus Crestani  <crestani@xemacs.org>         The new allocator.         New configure flag: `MC_ALLOC':         * configure.ac (XE_COMPLEX_ARG_ENABLE): Add `--enable-mc-alloc' as         a new configure flag.         * configure.in (AC_INIT_PARSE_ARGS): Add `--mc-alloc' as a new         configure flag.         * configure.usage: Add description for `mc-alloc'.         DUMP_IN_EXEC:         * Makefile.in.in: Condition the installation of a separate dump         file on !DUMP_ON_EXEC.         * configure.ac (XE_COMPLEX_ARG_ENABLE): Add         `--enable-dump-in-exec' as a new configure flag.         * configure.ac: DUMP_IN_EXEC is define as default for PDUMP but         not default for MC_ALLOC.         * configure.in (AC_INIT_PARSE_ARGS): Add `--dump-in-exec' as a         new configure flag.         * configure.in: DUMP_IN_EXEC is define as default for PDUMP but         not default for MC_ALLOC.         * configure.usage: Add description for `dump-in-exec'. lib-src/ChangeLog addition: 2005-04-01  Marcus Crestani  <crestani@xemacs.org>         The new allocator.         DUMP_IN_EXEC:                  * Makefile.in.in: Only compile insert-data-in-exec if         DUMP_IN_EXEC is defined. lisp/ChangeLog addition: 2005-04-01  Marcus Crestani  <crestani@xemacs.org>         The new allocator.         MEMORY_USAGE_STATS         * diagnose.el: Add new lisp function to pretty print statistics         about the new allocator.         * diagnose.el (show-mc-alloc-memory-usage): New. modules/ChangeLog addition: 2005-04-01  Marcus Crestani  <crestani@xemacs.org>         The new allocator.         Remove Lcrecords:                  * postgresql/postgresql.c (allocate_pgconn): Allocate with new         allocator.         * postgresql/postgresql.c (allocate_pgresult): Allocate PGresult         with new allocator.           * postgresql/postgresql.h (struct Lisp_PGconn): Add         lrecord_header.         * postgresql/postgresql.h (struct Lisp_PGresult): Add         lrecord_header.         * ldap/eldap.c (allocate_ldap): Allocate with new allocator.         * ldap/eldap.h (struct Lisp_LDAP): Add lrecord_header. nt/ChangeLog addition: 2005-04-01  Marcus Crestani  <crestani@xemacs.org>         The new allocator.         New configure flag: `MC_ALLOC':         * config.inc.samp: Add new flag `MC_ALLOC'.         * xemacs.mak: Add flag and configuration output for `MC_ALLOC'.         New files:         * xemacs.dsp: Add source files mc-alloc.c and mc-alloc.h.         * xemacs.mak: Add new object file mc-alloc.obj to dependencies. src/ChangeLog addition: 2005-04-01  Marcus Crestani  <crestani@xemacs.org>         The new allocator.         New configure flag: `MC_ALLOC':         * config.h.in: Add new flag `MC_ALLOC'.         New files:         * Makefile.in.in: Add new object file mc-alloc.o.         * depend: Add new files to dependencies.         * mc-alloc.c: New.         * mc-alloc.h: New.         Running the new allocator from XEmacs:         * alloc.c (deadbeef_memory): Moved to mc-alloc.c.         * emacs.c (main_1): Initialize the new allocator and add         syms_of_mc_alloc.         * symsinit.h: Add syms_of_mc_alloc.         New lrecord allocation and free functions:         * alloc.c (alloc_lrecord): New. Allocates an lrecord, includes         type checking and initializing of the lrecord_header.         * alloc.c (noseeum_alloc_lrecord): Same as above, but increments         the NOSEEUM cons counter.         * alloc.c (free_lrecord): New. Calls the finalizer and frees the         lrecord.         * lrecord.h: Add lrecord allocation prototypes and comments.         Remove old lrecord FROB block allocation:                  * alloc.c (allocate_lisp_storage): Former function to expand         heap. Not needed anymore, remove.         * alloc.c: Completely remove `Fixed-size type macros'         * alloc.c (release_breathing_space): Remove.         * alloc.c (memory_full): Remove release_breathing_space.         * alloc.c (refill_memory_reserve): Remove.         * alloc.c (TYPE_ALLOC_SIZE): Remove.         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Remove.         * alloc.c (ALLOCATE_FIXED_TYPE_FROM_BLOCK): Remove.         * alloc.c (ALLOCATE_FIXED_TYPE_1): Remove.         * alloc.c (ALLOCATE_FIXED_TYPE): Remove.         * alloc.c (NOSEEUM_ALLOCATE_FIXED_TYPE): Remove.         * alloc.c (struct Lisp_Free): Remove.         * alloc.c (LRECORD_FREE_P): Remove.         * alloc.c (MARK_LRECORD_AS_FREE): Remove.         * alloc.c (MARK_LRECORD_AS_NOT_FREE): Remove.         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Remove.         * alloc.c (FREE_FIXED_TYPE): Remove.         * alloc.c (FREE_FIXED_TYPE_WHEN_NOT_IN_GC): Remove.         Allocate old lrecords with new allocator:                  * alloc.c: DECLARE_FIXED_TYPE_ALLOC removed for all lrecords         defined in alloc.c.         * alloc.c (Fcons): Allocate with new allocator.         * alloc.c (noseeum_cons): Allocate with new allocator.         * alloc.c (make_float): Allocate with new allocator.         * alloc.c (make_bignum): Allocate with new allocator.         * alloc.c (make_bignum_bg): Allocate with new allocator.         * alloc.c (make_ratio): Allocate with new allocator.         * alloc.c (make_ratio_bg): Allocate with new allocator.         * alloc.c (make_ratio_rt): Allocate with new allocator.         * alloc.c (make_bigfloat): Allocate with new allocator.         * alloc.c (make_bigfloat_bf): Allocate with new allocator.         * alloc.c (make_compiled_function): Allocate with new allocator.         * alloc.c (Fmake_symbol): Allocate with new allocator.         * alloc.c (allocate_extent): Allocate with new allocator.         * alloc.c (allocate_event): Allocate with new allocator.         * alloc.c (make_key_data): Allocate with new allocator.         * alloc.c (make_button_data): Allocate with new allocator.         * alloc.c (make_motion_data): Allocate with new allocator.         * alloc.c (make_process_data): Allocate with new allocator.         * alloc.c (make_timeout_data): Allocate with new allocator.         * alloc.c (make_magic_data): Allocate with new allocator.         * alloc.c (make_magic_eval_data): Allocate with new allocator.         * alloc.c (make_eval_data): Allocate with new allocator.         * alloc.c (make_misc_user_data): Allocate with new allocator.         * alloc.c (Fmake_marker): Allocate with new allocator.         * alloc.c (noseeum_make_marker): Allocate with new allocator.         * alloc.c (make_uninit_string): Allocate with new allocator.         * alloc.c (resize_string): Allocate with new allocator.         * alloc.c (make_string_nocopy): Allocate with new allocator.         Garbage Collection:         * alloc.c (GC_CHECK_NOT_FREE): Remove obsolete assertions.         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove.         * alloc.c (SWEEP_FIXED_TYPE_BLOCK_1): Remove.         * alloc.c (sweep_conses): Remove.         * alloc.c (free_cons): Use new allocator to free.         * alloc.c (sweep_compiled_functions): Remove.         * alloc.c (sweep_floats): Remove.         * alloc.c (sweep_bignums): Remove.         * alloc.c (sweep_ratios): Remove.         * alloc.c (sweep_bigfloats): Remove.         * alloc.c (sweep_symbols): Remove.         * alloc.c (sweep_extents): Remove.         * alloc.c (sweep_events): Remove.         * alloc.c (sweep_key_data): Remove.         * alloc.c (free_key_data): Use new allocator to free.         * alloc.c (sweep_button_data): Remove.         * alloc.c (free_button_data): Use new allocator to free.         * alloc.c (sweep_motion_data): Remove.         * alloc.c (free_motion_data): Use new allocator to free.         * alloc.c (sweep_process_data): Remove.         * alloc.c (free_process_data): Use new allocator to free.         * alloc.c (sweep_timeout_data): Remove.         * alloc.c (free_timeout_data): Use new allocator to free.         * alloc.c (sweep_magic_data): Remove.         * alloc.c (free_magic_data): Use new allocator to free.         * alloc.c (sweep_magic_eval_data): Remove.         * alloc.c (free_magic_eval_data): Use new allocator to free.         * alloc.c (sweep_eval_data): Remove.         * alloc.c (free_eval_data): Use new allocator to free.         * alloc.c (sweep_misc_user_data): Remove.         * alloc.c (free_misc_user_data): Use new allocator to free.         * alloc.c (sweep_markers): Remove.         * alloc.c (free_marker): Use new allocator to free.         * alloc.c (garbage_collect_1): Remove release_breathing_space.         * alloc.c (gc_sweep): Remove all the old lcrecord and lrecord         related stuff. Sweeping now works like this: compact string         chars, finalize, sweep.         * alloc.c (common_init_alloc_early): Remove old lrecord         initializations, remove breathing_space.         * emacs.c (Fdump_emacs): Remove release_breathing_space.         * lisp.h: Remove prototype for release_breathing_space.         * lisp.h: Adjust the special cons mark makros.         Lrecord Finalizer:         * alloc.c: Add finalizer to lrecord definition.         * alloc.c (finalize_string): Add finalizer for string.         * bytecode.c: Add finalizer to lrecord definition.         * bytecode.c (finalize_compiled_function): Add finalizer for         compiled function.         * marker.c: Add finalizer to lrecord definition.         * marker.c (finalize_marker): Add finalizer for marker.         These changes build the interface to mc-alloc:         * lrecord.h (MC_ALLOC_CALL_FINALIZER): Tell mc-alloc how to         finalize lrecords.         * lrecord.h (MC_ALLOC_CALL_FINALIZER_FOR_DISKSAVE): Tell         mc-alloc how to finalize for disksave.         Unify lrecords and lcrecords:         * lisp.h (struct Lisp_String): Adjust string union hack to         new lrecord header.         * lrecord.h: Adjust comments.         * lrecord.h (struct lrecord_header): The new lrecord header         includes type, lisp-readonly, free, and uid.         * lrecord.h (set_lheader_implementation): Adjust to new         lrecord_header.         * lrecord.h (struct lrecord_implementation): The field basic_p         for indication of an old lrecord is not needed anymore, remove.         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION): Remove basic_p.         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Remove         basic_p.         * lrecord.h (copy_sized_lrecord): Remove distinction between         old lrecords and lcrecords.         * lrecord.h (copy_lrecord): Remove distinction between old         lrecords and lcrecords.         * lrecord.h (zero_sized_lrecord): Remove distinction between         old lrecords and lcrecords.         * lrecord.h (zero_lrecord): Remove distinction between old         lrecords and lcrecords.         Remove lcrecords and lcrecord lists:         * alloc.c (basic_alloc_lcrecord): Not needed anymore, remove.         * alloc.c (very_old_free_lcrecord): Not needed anymore, remove.         * alloc.c (copy_lisp_object): No more distinction between         lrecords and lcrecords.         * alloc.c (all_lcrecords): Not needed anymore, remove.         * alloc.c (make_vector_internal): Allocate as lrecord.         * alloc.c (make_bit_vector_internal): Allocate as lrecord.         * alloc.c: Completely remove `lcrecord lists'.         * alloc.c (free_description): Remove.         * alloc.c (lcrecord_list_description): Remove.         * alloc.c (mark_lcrecord_list): Remove.         * alloc.c (make_lcrecord_list): Remove.         * alloc.c (alloc_managed_lcrecord): Remove.         * alloc.c (free_managed_lcrecord): Remove.         * alloc.c (alloc_automanaged_lcrecord): Remove.         * alloc.c (free_lcrecord): Remove.         * alloc.c (lcrecord_stats): Remove.         * alloc.c (tick_lcrecord_stats): Remove.         * alloc.c (disksave_object_finalization_1): Add call to         mc_finalize_for_disksave. Remove the lcrecord way to visit all         objects.         * alloc.c (kkcc_marking): Remove XD_FLAG_FREE_LISP_OBJECT         * alloc.c (sweep_lcrecords_1): Remove.         * alloc.c (common_init_alloc_early): Remove everything related         to lcrecords, remove old lrecord initializations,         * alloc.c (init_lcrecord_lists): Not needed anymore, remove.         * alloc.c (reinit_alloc_early): Remove everything related to         lcrecords.         * alloc.c (init_alloc_once_early): Remove everything related to         lcrecords.         * buffer.c (allocate_buffer): Allocate as lrecord.         * buffer.c (nuke_all_buffer_slots): Use lrecord functions.         * buffer.c (common_init_complex_vars_of_buffer): Allocate as         lrecord.         * buffer.h (struct buffer): Add lrecord_header.         * casetab.c (allocate_case_table): Allocate as lrecord.         * casetab.h (struct Lisp_Case_Table): Add lrecord_header.         * charset.h (struct Lisp_Charset): Add lrecord_header.         * chartab.c (fill_char_table): Use lrecord functions.         * chartab.c (Fmake_char_table): Allocate as lrecord.         * chartab.c (make_char_table_entry): Allocate as lrecord.         * chartab.c (copy_char_table_entry): Allocate as lrecord.         * chartab.c (Fcopy_char_table): Allocate as lrecord.         * chartab.c (put_char_table): Use lrecord functions.         * chartab.h (struct Lisp_Char_Table_Entry): Add lrecord_header.         * chartab.h (struct Lisp_Char_Table): Add lrecord_header.         * console-impl.h (struct console): Add lrecord_header.         * console-msw-impl.h (struct Lisp_Devmode): Add lrecord_header.         * console-msw-impl.h (struct mswindows_dialog_id): Add         lrecord_header.         * console.c (allocate_console): Allocate as lrecord.         * console.c (nuke_all_console_slots): Use lrecord functions.         * console.c (common_init_complex_vars_of_console): Allocate as         lrecord.         * data.c (make_weak_list): Allocate as lrecord.         * data.c (make_weak_box): Allocate as lrecord.         * data.c (make_ephemeron): Allocate as lrecord.         * database.c (struct Lisp_Database): Add lrecord_header.         * database.c (allocate_database): Allocate as lrecord.         * device-impl.h (struct device): Add lrecord_header.         * device-msw.c (allocate_devmode): Allocate as lrecord.         * device.c (nuke_all_device_slots): Use lrecord functions.         * device.c (allocate_device): Allocate as lrecord.         * dialog-msw.c (handle_question_dialog_box): Allocate as lrecord.         * elhash.c (struct Lisp_Hash_Table): Add lrecord_header.         * elhash.c (make_general_lisp_hash_table): Allocate as lrecord.         * elhash.c (Fcopy_hash_table): Allocate as lrecord.         * event-stream.c: Lcrecord lists Vcommand_builder_free_list and         Vtimeout_free_list are no longer needed. Remove.         * event-stream.c (allocate_command_builder): Allocate as lrecord.         * event-stream.c (free_command_builder): Use lrecord functions.         * event-stream.c (event_stream_generate_wakeup): Allocate as         lrecord.         * event-stream.c (event_stream_resignal_wakeup): Use lrecord         functions.         * event-stream.c (event_stream_disable_wakeup): Use lrecord         functions.         * event-stream.c (reinit_vars_of_event_stream): Lcrecord lists         remove.         * events.h (struct Lisp_Timeout): Add lrecord_header.         * events.h (struct command_builder): Add lrecord_header.         * extents-impl.h (struct extent_auxiliary): Add lrecord_header.         * extents-impl.h (struct extent_info): Add lrecord_header.         * extents.c (allocate_extent_auxiliary): Allocate as lrecord.         * extents.c (allocate_extent_info): Allocate as lrecord.         * extents.c (copy_extent): Allocate as lrecord.         * faces.c (allocate_face): Allocate as lrecord.         * faces.h (struct Lisp_Face): Add lrecord_header.         * file-coding.c (allocate_coding_system): Allocate as lrecord.         * file-coding.c (Fcopy_coding_system): Allocate as lrecord.         * file-coding.h (struct Lisp_Coding_System): Add lrecord_header.         * fns.c (Ffillarray): Allocate as lrecord.         * frame-impl.h (struct frame): Add lrecord_header.         * frame.c (nuke_all_frame_slots): Use lrecord functions.         * frame.c (allocate_frame_core): Allocate as lrecord.         * glyphs.c (allocate_image_instance): Allocate as lrecord.         * glyphs.c (Fcolorize_image_instance): Allocate as lrecord.         * glyphs.c (allocate_glyph): Allocate as lrecord.         * glyphs.h (struct Lisp_Image_Instance): Add lrecord_header.         * glyphs.h (struct Lisp_Glyph): Add lrecord_header.         * gui.c (allocate_gui_item): Allocate as lrecord.         * gui.h (struct Lisp_Gui_Item): Add lrecord_header.         * keymap.c (struct Lisp_Keymap): Add lrecord_header.         * keymap.c (make_keymap): Allocate as lrecord.         * lisp.h (struct Lisp_Vector): Add lrecord_header.         * lisp.h (struct Lisp_Bit_Vector): Add lrecord_header.         * lisp.h (struct weak_box): Add lrecord_header.         * lisp.h (struct ephemeron): Add lrecord_header.         * lisp.h (struct weak_list): Add lrecord_header.         * lrecord.h (struct lcrecord_header): Not used, remove.         * lrecord.h (struct free_lcrecord_header): Not used, remove.         * lrecord.h (struct lcrecord_list): Not needed anymore, remove.         * lrecord.h (lcrecord_list): Not needed anymore, remove.         * lrecord.h: (enum data_description_entry_flags): Remove         XD_FLAG_FREE_LISP_OBJECT.         * lstream.c: Lrecord list Vlstream_free_list remove.         * lstream.c (Lstream_new): Allocate as lrecord.         * lstream.c (Lstream_delete): Use lrecod functions.         * lstream.c (reinit_vars_of_lstream): Vlstream_free_list         initialization remove.           * lstream.h (struct lstream): Add lrecord_header.         * emacs.c (main_1): Remove lstream initialization.         * mule-charset.c (make_charset): Allocate as lrecord.         * objects-impl.h (struct Lisp_Color_Instance): Add         lrecord_header.         * objects-impl.h (struct Lisp_Font_Instance): Add lrecord_header.         * objects.c (Fmake_color_instance): Allocate as lrecord.         * objects.c (Fmake_font_instance): Allocate as lrecord.         * objects.c (reinit_vars_of_objects): Allocate as lrecord.         * opaque.c: Lcreord list Vopaque_ptr_list remove.         * opaque.c (make_opaque): Allocate as lrecord.         * opaque.c (make_opaque_ptr): Allocate as lrecord.         * opaque.c (free_opaque_ptr): Use lrecord functions.         * opaque.c (reinit_opaque_early):         * opaque.c (init_opaque_once_early): Vopaque_ptr_list         initialization remove.         * opaque.h (Lisp_Opaque): Add lrecord_header.         * opaque.h (Lisp_Opaque_Ptr): Add lrecord_header.         * emacs.c (main_1): Remove opaque variable initialization.         * print.c (default_object_printer): Use new lrecord_header.         * print.c (print_internal): Use new lrecord_header.         * print.c (debug_p4): Use new lrecord_header.         * process.c (make_process_internal): Allocate as lrecord.         * procimpl.h (struct Lisp_Process): Add lrecord_header.         * rangetab.c (Fmake_range_table): Allocate as lrecord.         * rangetab.c (Fcopy_range_table): Allocate as lrecord.         * rangetab.h (struct Lisp_Range_Table): Add lrecord_header.         * scrollbar.c (create_scrollbar_instance): Allocate as lrecord.         * scrollbar.h (struct scrollbar_instance): Add lrecord_header.         * specifier.c (make_specifier_internal): Allocate as lrecord.         * specifier.h (struct Lisp_Specifier): Add lrecord_header.         * symbols.c:         * symbols.c (Fmake_variable_buffer_local): Allocate as lrecord.         * symbols.c (Fdontusethis_set_symbol_value_handler): Allocate         as lrecord.         * symbols.c (Fdefvaralias): Allocate as lrecord.         * symeval.h (struct symbol_value_magic): Add lrecord_header.         * toolbar.c (update_toolbar_button): Allocate as lrecord.         * toolbar.h (struct toolbar_button): Add lrecord_header.         * tooltalk.c (struct Lisp_Tooltalk_Message): Add lrecord_header.         * tooltalk.c (make_tooltalk_message): Allocate as lrecord.         * tooltalk.c (struct Lisp_Tooltalk_Pattern): Add lrecord_header.         * tooltalk.c (make_tooltalk_pattern): Allocate as lrecord.         * ui-gtk.c (allocate_ffi_data): Allocate as lrecord.         * ui-gtk.c (allocate_emacs_gtk_object_data): Allocate as lrecord.         * ui-gtk.c (allocate_emacs_gtk_boxed_data): Allocate as lrecord.         * ui-gtk.h (structs): Add lrecord_header.         * window-impl.h (struct window): Add lrecord_header.         * window-impl.h (struct window_mirror): Add lrecord_header.         * window.c (allocate_window): Allocate as lrecord.         * window.c (new_window_mirror): Allocate as lrecord.         * window.c (make_dummy_parent): Allocate as lrecord.         MEMORY_USAGE_STATS         * alloc.c (fixed_type_block_overhead): Not used anymore, remove.         * buffer.c (compute_buffer_usage): Get storage size from new         allocator.         * marker.c (compute_buffer_marker_usage): Get storage size from         new allocator.         * mule-charset.c (compute_charset_usage): Get storage size from         new allocator.         * scrollbar-gtk.c (gtk_compute_scrollbar_instance_usage): Get         storage size from new allocator.         * scrollbar-msw.c (mswindows_compute_scrollbar_instance_usage):         Get storage size from new allocator.         * scrollbar-x.c (x_compute_scrollbar_instance_usage): Get         storage size from new allocator.         * scrollbar.c (compute_scrollbar_instance_usage): Get storage         size from new allocator.         * unicode.c (compute_from_unicode_table_size_1): Get storage         size from new allocator.         * unicode.c (compute_to_unicode_table_size_1): Get storage size         from new allocator.         * window.c (compute_window_mirror_usage): Get storage size from         new allocator.         * window.c (compute_window_usage): Get storage size from new         allocator.         MC_ALLOC_TYPE_STATS:         * alloc.c (alloc_lrecord): Bump lrecord count.         * alloc.c (noseeum_alloc_lrecord): Bump lrecord count.         * alloc.c (struct lrecord_stats): Storage for counts.         * alloc.c (init_lrecord_stats): Zero statistics.         * alloc.c (inc_lrecord_stats): Increase the statistic.         * alloc.c (dec_lrecord_stats): Decrease the statistic.         * alloc.c (gc_plist_hack): Used to print the information.         * alloc.c (Fgarbage_collect): Return the collected information.         * mc-alloc.c (remove_cell): Decrease lrecord count.         * mc-alloc.h: Set flag MC_ALLOC_TYPE_STATS.         * emacs.c (main_1): Init lrecord statistics.         * lrecord.h: Add prototypes for *_lrecord_stats.         Strings:         * alloc.c (Fmake_string): Initialize ascii_begin to zero.         * alloc.c (gc_count_num_short_string_in_use): Remove.         * alloc.c (gc_count_string_total_size): Remove.         * alloc.c (gc_count_short_string_total_size): Remove.         * alloc.c (debug_string_purity): Remove.         * alloc.c (debug_string_purity_print): Remove.         * alloc.c (sweep_strings): Remove.                  Remove static C-readonly Lisp objects:         * alloc.c (c_readonly): Not needed anymore, remove.         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): Remove some obsolete         lheader invariants assertions.         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Allocate dynamically.         * console.c (DEFVAR_CONSOLE_LOCAL_1): Allocate dynamically.         * gpmevent.c: Indirection via MC_ALLOC_Freceive_gpm_event.         * gpmevent.c (Fgpm_enable): Allocate dynamically.         * gpmevent.c (syms_of_gpmevent): Allocate dynamically.         * lisp.h (C_READONLY): Not needed anymore, remove.         * lisp.h (DEFUN): Allocate dynamically.         * lrecord.h (C_READONLY_RECORD_HEADER_P): Not needed anymore,         remove.         * lrecord.h (SET_C_READONLY_RECORD_HEADER): Not needed anymore,         remove.         * symbols.c (guts_of_unbound_marker):         * symeval.h (defsubr): Allocate dynamically.         * symeval.h (DEFSUBR_MACRO): Allocate dynamically.         * symeval.h (DEFVAR_ SYMVAL_FWD): Allocate dynamically.         * tests.c (TESTS_DEFSUBR): Allocate dynamically.         Definition of mcpro:         * lisp.h: Add mcpro prototypes.         * alloc.c (common_init_alloc_early): Add initialization for         mcpros.         * alloc.c (mcpro_description_1): New.         * alloc.c (mcpro_description): New.         * alloc.c (mcpros_description_1): New.         * alloc.c (mcpros_description): New.         * alloc.c (mcpro_one_name_description_1): New.         * alloc.c (mcpro_one_name_description): New.         * alloc.c (mcpro_names_description_1): New.         * alloc.c (mcpro_names_description): New.         * alloc.c (mcpros): New.         * alloc.c (mcpro_names): New.         * alloc.c (mcpro_1): New.         * alloc.c (mc_pro): New.         * alloc.c (garbage_collect_1): Add mcpros to root set.         Usage of mcpro:         * alloc.c (make_string_nocopy): Add string to root set.         * symbols.c (init_symbols_once_early): Add Qunbound to root set.         Changes to the Portable Dumper:                  * alloc.c (FREE_OR_REALLOC_BEGIN): Since dumped objects can be         freed with the new allocator, remove assertion for !DUMPEDP.         * dumper.c: Adjust comments, increase PDUMP_HASHSIZE.         * dumper.c (pdump_make_hash): Shift address only 2 bytes, to         avoid collisions.         * dumper.c (pdump_objects_unmark): No more mark bits within         the object, remove.         * dumper.c (mc_addr_elt): New. Element data structure for mc         hash table.         * dumper.c (pdump_mc_hash): New hash table: `lookup table'.         * dumper.c (pdump_get_mc_addr): New. Lookup for hash table.         * dumper.c (pdump_get_indirect_mc_addr): New. Lookup for         convertibles.         * dumper.c (pdump_put_mc_addr): New. Putter for hash table.         * dumper.c (pdump_dump_mc_data): New. Writes the table for         relocation at load time to the dump file.         * dumper.c (pdump_scan_lisp_objects_by_alignment): New.         Visits all dumped Lisp objects.         * dumper.c (pdump_scan_non_lisp_objects_by_alignment): New.         Visits all other dumped objects.         * dumper.c (pdump_reloc_one_mc): New. Updates all pointers         of an object by using the hash table pdump_mc_hash.         * dumper.c (pdump_reloc_one): Replaced by pdump_reloc_one_mc.         * dumper.c (pdump): Change the structure of the dump file, add         the mc post dump relocation table to dump file.         * dumper.c (pdump_load_finish): Hand all dumped objects to the         new allocator and use the mc post dump relocation table for         relocating the dumped objects at dump file load time, free not         longer used data structures.         * dumper.c (pdump_load): Free the dump file.         * dumper.h: Remove pdump_objects_unmark.         * lrecord.h (DUMPEDP): Dumped objects can be freed, remove.              DUMP_IN_EXEC:         * Makefile.in.in: Linking for and with dump in executable only if         DUMP_IN_EXEC is defined.         * config.h.in: Add new flag `DUMP_IN_EXEC'         * emacs.c: Condition dump-data.h on DUMP_IN_EXEC.         * emacs.c (main_1): Flag `-si' only works if dump image is         written into executable.         Miscellanious         * lrecord.h (enum lrecord_type): Added numbers to all types,         very handy for debugging.         * xemacs.def.in.in: Add mc-alloc functions to make them visible         to the modules.
author crestani
date Fri, 08 Apr 2005 23:11:35 +0000
parents 7edc33019aa4
children 414a64af46c9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
1 ## Copyright (C) 2003 Ben Wing.
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
2
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
3 ## DIST: This is the distribution Makefile for XEmacs. configure can
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
4 ## DIST: make most of the changes to this file you might want, so try
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
5 ## DIST: that first.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
6
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
7 ## This file is part of XEmacs.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
8
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
9 ## XEmacs is free software; you can redistribute it and/or modify it
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
10 ## under the terms of the GNU General Public License as published by the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
11 ## Free Software Foundation; either version 2, or (at your option) any
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
12 ## later version.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
13
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
14 ## XEmacs is distributed in the hope that it will be useful, but WITHOUT
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
15 ## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
16 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
17 ## for more details.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
18
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
19 ## You should have received a copy of the GNU General Public License
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
20 ## along with XEmacs; see the file COPYING. If not, write to
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
21 ## the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
22 ## Boston, MA 02111-1307, USA.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
23
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
24 ## make all to compile and build XEmacs.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
25 ## make install to build and install it.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
26 ## make install-only to install after a previous complete build
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
27 ## make TAGS to update tags tables.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
28
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
29 ## make clean or make mostlyclean
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
30 ## Delete all files from the current directory that are normally
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
31 ## created by building the program. Don't delete the files that
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
32 ## record the configuration. Also preserve files that could be made
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
33 ## by building, but normally aren't because the distribution comes
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
34 ## with them.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
35
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
36 ## Delete `.dvi' files here if they are not part of the distribution.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
37
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
38 ## make distclean
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
39 ## Delete all files from the current directory that are created by
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
40 ## configuring or building the program. If you have unpacked the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
41 ## source and built the program without creating any other files,
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
42 ## `make distclean' should leave only the files that were in the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
43 ## distribution.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
44
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
45 ## make realclean
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
46 ## Delete everything from the current directory that can be
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
47 ## reconstructed with this Makefile. This typically includes
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
48 ## everything deleted by distclean, plus more: C source files
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
49 ## produced by Bison, tags tables, info files, and so on.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
50
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
51 ## make extraclean
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
52 ## Still more severe - delete backup and autosave files, too.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
53
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
54 #define NOT_C_CODE
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
55 #include "src/config.h"
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
56
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
57 #ifdef USE_GNU_MAKE
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
58 RECURSIVE_MAKE_ARGS=
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
59 #else
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
60 @SET_MAKE@
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
61 RECURSIVE_MAKE_ARGS=@RECURSIVE_MAKE_ARGS@
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
62 #endif
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
63
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
64 SHELL = /bin/sh
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
65 LANG = C
396
6719134a07c2 Import from CVS: tag r21-2-13
cvs
parents: 394
diff changeset
66 LC_ALL = C
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
67 RM = rm -f
426
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
68 MAKEPATH=./lib-src/make-path
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
69 pwd = /bin/pwd
430
a5df635868b2 Import from CVS: tag r21-2-23
cvs
parents: 426
diff changeset
70 TAR = tar
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
71
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
72 ## ==================== Things `configure' Might Edit ====================
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
73
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
74 CC=@CC@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
75 CPP=@CPP@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
76 LN_S=@LN_S@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
77 CFLAGS=@CFLAGS@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
78 CPPFLAGS=@CPPFLAGS@
708
512e4a478e9d [xemacs-hg @ 2001-12-20 06:08:09 by andyp]
andyp
parents: 598
diff changeset
79 LDFLAGS=@LDFLAGS@
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
80
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
81 ## These help us choose version- and architecture-specific directories
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
82 ## to install files in.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
83
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
84 ## This should be the number of the XEmacs version we're building,
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
85 ## like `19.12' or `19.13'.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
86 version=@version@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
87
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
88 ## This should be the name of the configuration we're building XEmacs
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
89 ## for, like `mips-dec-ultrix' or `sparc-sun-sunos'.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
90 configuration=@configuration@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
91
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
92 ## This will be the name of the generated binary and is set automatically
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
93 ## by configure.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
94 PROGNAME=@PROGNAME@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
95
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
96 ## ==================== Where To Install Things ====================
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
97
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
98 ## The default location for installation. Everything is placed in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
99 ## subdirectories of this directory. The default values for many of
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
100 ## the variables below are expressed in terms of this one, so you may
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
101 ## not need to change them. This defaults to /usr/local.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
102 prefix=@prefix@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
103
422
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
104 ## Variable data (as per each program update) goes here
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
105 ## The default is ${PROGNAME}
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
106 inststaticdir=@inststaticdir@
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
107
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
108 ## Static data (constant across program updates) goes here
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
109 ## The default is ${PROGNAME}-${version}
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
110 instvardir=@instvardir@
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
111
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
112 ## Like `prefix', but used for architecture-specific files.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
113 exec_prefix=@exec_prefix@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
114
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
115 ## Where to install XEmacs and other binaries that people will want to
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
116 ## run directly (like etags).
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
117 bindir=@bindir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
118
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
119 ## Where to install architecture-independent data files.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
120 ## ${lispdir} and ${etcdir} are subdirectories of this.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
121 datadir=@datadir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
122
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
123 ## Where to install and expect the files that XEmacs modifies as it runs.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
124 ## These files are all architecture-independent. Right now, the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
125 ## only such data is the locking directory;
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
126 statedir=@statedir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
127
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
128 ## Where to install and expect executable files to be run by XEmacs
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
129 ## rather than directly by users, and other architecture-dependent data
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
130 ## ${archlibdir} is a subdirectory of this.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
131 libdir=@libdir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
132
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
133 ## Where to install XEmacs's man pages, and what extension they should have.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
134 mandir=@mandir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
135 manext=.1
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
136
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
137 ## Where to install and expect the info files describing XEmacs. In the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
138 ## past, this defaulted to a subdirectory of ${prefix}/lib/xemacs, but
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
139 ## since there are now many packages documented with the texinfo
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
140 ## system, it is inappropriate to imply that it is part of XEmacs.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
141 infodir=@infodir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
142
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
143 ## Document me.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
144 ## See callproc.c for code which references this.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
145 infopath=@infopath@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
146
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
147 ## Where to find the source code. The source code for XEmacs's C kernel is
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
148 ## expected to be in ${srcdir}/src, and the source code for XEmacs's
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
149 ## utility programs is expected to be in ${srcdir}/lib-src. This is
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
150 ## set by the configure script's `--srcdir' option.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
151 srcdir=@srcdir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
152
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
153 ## Where the build is done.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
154 blddir=@blddir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
155
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
156 ## ==================== XEmacs-specific directories ====================
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
157
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
158 ## These variables hold the values XEmacs will actually use. They are
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
159 ## based on the values of the standard Make variables above.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
160
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
161 ## Where to install the lisp files distributed with
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
162 ## XEmacs. This includes the XEmacs version, so that the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
163 ## lisp files for different versions of XEmacs will install
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
164 ## themselves in separate directories.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
165 lispdir=@lispdir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
166
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
167 ## Where to install the module files distributed with
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
168 ## XEmacs. This includes the XEmacs version, so that the
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
169 ## module files for different versions of XEmacs will install
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
170 ## themselves in separate directories.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
171 moduledir=@moduledir@
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
172
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
173 ## Directory XEmacs should search for lisp files specific
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
174 ## to this site (i.e. customizations), before consulting
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
175 ## ${lispdir}.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
176 sitelispdir=@sitelispdir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
177
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
178 ## Directory XEmacs should search for module files specific
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
179 ## to this site (i.e. customizations), before consulting
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
180 ## ${moduledir}.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
181 sitemoduledir=@sitemoduledir@
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 382
diff changeset
182
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
183 ## Where XEmacs will search for its lisp files while
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
184 ## building. This is only used during the process of
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
185 ## compiling XEmacs, to help XEmacs find its lisp files
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
186 ## before they've been installed in their final location.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
187 ## It's usually identical to lispdir, except that the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
188 ## entry for the directory containing the installed lisp
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
189 ## files has been replaced with ../lisp. This should be a
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
190 ## colon-separated list of directories.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
191 buildlispdir=${srcdir}/lisp
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
192
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
193 ## Where to install the other architecture-independent
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
194 ## data files distributed with XEmacs (like the tutorial,
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
195 ## the cookie recipes and the Zippy database). This path
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
196 ## usually contains the XEmacs version number, so the data
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
197 ## files for multiple versions of XEmacs may be installed
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
198 ## at once.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
199 etcdir=@etcdir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
200
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
201 ## Where to put the DOC file.
420
41dbb7a9d5f2 Import from CVS: tag r21-2-18
cvs
parents: 412
diff changeset
202 docdir=@docdir@
41dbb7a9d5f2 Import from CVS: tag r21-2-18
cvs
parents: 412
diff changeset
203
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
204 ## Where to put executables to be run by XEmacs rather than
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
205 ## the user. This path usually includes the XEmacs version
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
206 ## and configuration name, so that multiple configurations
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
207 ## for multiple versions of XEmacs may be installed at
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
208 ## once.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
209 archlibdir=@archlibdir@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
210
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
211 ## ==================== Utility Programs for the Build ====================
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
212
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
213 ## Allow the user to specify the install program.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
214 INSTALL = @install_pp@ @INSTALL@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
215 INSTALL_PROGRAM = @INSTALL_PROGRAM@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
216 INSTALL_DATA = @INSTALL_DATA@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
217
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
218 ## ============================= Targets ==============================
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
219
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
220 ## Subdirectories to make recursively. `lisp' is not included
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
221 ## because the compiled lisp files are part of the distribution
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
222 ## and you cannot remake them without installing XEmacs first.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
223 MAKE_SUBDIR = @MAKE_SUBDIR@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
224
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
225 ## Subdirectories that can be made recursively.
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
226 SUBDIR = ${MAKE_SUBDIR} man
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
227
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
228 ## The makefiles of the directories in ${MAKE_SUBDIR}.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
229 SUBDIR_MAKEFILES = @SUBDIR_MAKEFILES@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
230
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
231 ## Subdirectories to `make install-arch-dep' recursively
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
232 INSTALL_ARCH_DEP_SUBDIR = @INSTALL_ARCH_DEP_SUBDIR@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
233
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
234 ## Subdirectories to install, and where they'll go.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
235 ## lib-src's makefile knows how to install it, so we don't do that here.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
236 ## When installing the info files, we need to do special things to
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
237 ## avoid nuking an existing dir file, so we don't do that here;
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
238 ## instead, we have written out explicit code in the `install' targets.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
239 COPYDIR = ${srcdir}/etc ${srcdir}/lisp
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
240 COPYDESTS = ${etcdir} ${lispdir}
1633
baca156a450b [xemacs-hg @ 2003-08-19 02:11:46 by james]
james
parents: 1441
diff changeset
241 GENERATED_HEADERS = src/paths.h src/Emacs.ad.h src/config.h lwlib/config.h src/sheap-adjust.h src/xemacs.def
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
242
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
243 ## MAKE_SUBDIR will always be of the form lib-src ... src, where
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
244 ## `...' includes various other directories that may be inserted by
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
245 ## configure.
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
246 all: Makefile ${GENERATED_HEADERS} ${MAKE_SUBDIR} info
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
247
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
248 ## For performance and consistency, no built-in rules
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
249 .SUFFIXES:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
250
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
251 .NO_PARALLEL: ${GENERATED_HEADERS} ${MAKE_SUBDIR}
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
252 .PHONY: ${SUBDIR} all beta
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
253
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
254 ## Convenience target for XEmacs beta testers
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
255 beta: clean all
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
256
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
257 ## Convenience target for XEmacs maintainers
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
258 ## This would run `make-xemacsdist' if I were really confident that everything
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
259 ## was turnkey.
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
260 dist: all
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
261
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
262 ## Convenience target for XEmacs maintainers
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
263 ## Updates some rarely generated files:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
264 ## - configure from configure.in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
265 ## - config.values.in from configure
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
266 ## - src/depend from src/*.[ch]
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
267 .PHONY: config configure depend
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
268 config: configure depend
426
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
269 configure: ${srcdir}/configure ${srcdir}/lib-src/config.values.in
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
270
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
271 ${srcdir}/configure : ${srcdir}/configure.in
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
272 cd ${srcdir} && autoconf
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
273
426
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
274 ${srcdir}/lib-src/config.values.in : ${srcdir}/configure
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
275 cd ${srcdir} && $(SHELL) lib-src/config.values.sh
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
276
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 430
diff changeset
277 depend ${srcdir}/src/depend:
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
278 cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) depend
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
279
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
280 check:
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
281 cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
282
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
283 check-features: all
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
284 cd ./src && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
285
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
286 ## We have to force the building of Emacs.ad.h as well in order to get it
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
287 ## updated correctly when VPATH is being used. Since we use move-if-change,
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
288 ## it will only actually change if the user modified ${etcdir}/Emacs.ad.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
289 src/Emacs.ad.h: ${srcdir}/etc/Emacs.ad
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
290 @echo "Producing \`src/Emacs.ad.h' from \`etc/Emacs.ad'."
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
291 @$(RM) src/Emacs.ad.h
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
292 @(echo "/* Do not edit this file!" ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
293 echo " Automatically generated from ${srcdir}/etc/Emacs.ad" ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
294 echo " */" ; \
426
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
295 $(SHELL) ${srcdir}/lib-src/ad2c ${srcdir}/etc/Emacs.ad ) > \
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
296 src/Emacs.ad.h
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
297
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
298 src/sheap-adjust.h:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
299 @echo "Resetting \`src/sheap-adjust.h'."; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
300 (echo "/* Do not edit this file!" ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
301 echo " Automatically generated by XEmacs */" ; \
1157
6af03f821bbe [xemacs-hg @ 2002-12-13 04:29:06 by andyp]
andyp
parents: 1011
diff changeset
302 echo "#define SHEAP_ADJUSTMENT 0") > $@
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
303
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
304 src: @SRC_SUBDIR_DEPS@ FRC.src
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
305 pkg-src/tree-x: pkg-src/FRC.tree-x
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
306 lib-src: FRC.lib-src
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
307 lwlib: FRC.lwlib
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
308 dynodump: FRC.dynodump
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
309 FRC.src FRC.lib-src FRC.lwlib FRC.dynodump pkg-src/FRC.tree-x:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
310 FRC.lisp.finder-inf.el:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
311
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
312 ${SUBDIR}: ${SUBDIR_MAKEFILES} ${GENERATED_HEADERS} FRC
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
313 cd ./$@ && $(MAKE) $(RECURSIVE_MAKE_ARGS) all
2259
e77c2aea9fd8 [xemacs-hg @ 2004-09-10 11:58:06 by malcolmp]
malcolmp
parents: 2128
diff changeset
314
e77c2aea9fd8 [xemacs-hg @ 2004-09-10 11:58:06 by malcolmp]
malcolmp
parents: 2128
diff changeset
315 ## Building modules depends on ellcc, found in lib-src.
e77c2aea9fd8 [xemacs-hg @ 2004-09-10 11:58:06 by malcolmp]
malcolmp
parents: 2128
diff changeset
316 modules/sample modules/ldap modules/zlib modules/base64 modules/postgresql: lib-src
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
317
801
2b676dc88c66 [xemacs-hg @ 2002-04-01 03:58:02 by ben]
ben
parents: 776
diff changeset
318 Makefile: ${srcdir}/Makefile.in.in config.status
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
319 ./config.status
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
320 $(MAKE) $(RECURSIVE_MAKE_ARGS) all
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
321
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
322 src/Makefile: ${srcdir}/src/Makefile.in.in ${srcdir}/src/depend config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
323 ./config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
324
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
325 lib-src/Makefile: ${srcdir}/lib-src/Makefile.in.in config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
326 ./config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
327
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
328 lwlib/Makefile: ${srcdir}/lwlib/Makefile.in.in config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
329 ./config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
330
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
331 pkg-src/tree-x/Makefile: ${srcdir}/pkg-src/tree-x/Makefile.in.in config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
332 ./config.status
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
333
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
334 src/config.h: ${srcdir}/src/config.h.in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
335 ./config.status && touch $@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
336
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
337 src/paths.h: ${srcdir}/src/paths.h.in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
338 ./config.status && touch $@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
339
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
340 lwlib/config.h: ${srcdir}/lwlib/config.h.in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
341 ./config.status && touch $@
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
342
1633
baca156a450b [xemacs-hg @ 2003-08-19 02:11:46 by james]
james
parents: 1441
diff changeset
343 src/xemacs.def: $(srcdir)/src/xemacs.def.in.in
baca156a450b [xemacs-hg @ 2003-08-19 02:11:46 by james]
james
parents: 1441
diff changeset
344 ./config.status && touch $@
baca156a450b [xemacs-hg @ 2003-08-19 02:11:46 by james]
james
parents: 1441
diff changeset
345
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
346 ## ==================== Installation ====================
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
347
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
348 ## If we let lib-src do its own installation, that means we
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
349 ## don't have to duplicate the list of utilities to install in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
350 ## this Makefile as well.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
351
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
352 ## On AIX, use tar xBf.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
353 ## On Xenix, use tar xpf.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
354
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
355 .PHONY: install-only install install-arch-dep install-arch-indep gzip.el mkdir
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
356 .PHONY: check check-features
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
357
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
358 ## We delete each directory in ${COPYDESTS} before we copy into it;
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
359 ## that way, we can reinstall over directories that have been put in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
360 ## place with their files read-only (perhaps because they are checked
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
361 ## into RCS). In order to make this safe, we make sure that the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
362 ## source exists and is distinct from the destination.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
363
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
364 ## FSF doesn't depend on `all', but rather on ${MAKE_SUBDIR}, so that
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
365 ## they "won't ever modify src/paths.h". But that means you can't do
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
366 ## 'make install' right off the bat because src/paths.h won't exist.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
367 ## And, in XEmacs case, src/Emacs.ad.h won't exist either. I also
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
368 ## don't see the point in avoiding modifying paths.h. It creates an
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
369 ## inconsistency in the build process. So we go ahead and depend on
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
370 ## all. --cet
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
371
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
372 install-only: ${MAKE_SUBDIR} check-features install-arch-dep install-arch-indep
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
373
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
374 install: all check-features install-arch-dep install-arch-indep
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
375
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
376 install-arch-dep: mkdir
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
377 for subdir in ${INSTALL_ARCH_DEP_SUBDIR}; do \
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
378 (cd ./$${subdir} && $(MAKE) $(RECURSIVE_MAKE_ARGS) install prefix=${prefix} \
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
379 exec_prefix=${exec_prefix} bindir=${bindir} libdir=${libdir} \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
380 archlibdir=${archlibdir}) ; done
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
381 if test "`(cd ${archlibdir} && $(pwd))`" != \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
382 "`(cd ./lib-src && $(pwd))`"; then \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
383 if test -f ../Installation; then \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
384 ${INSTALL_DATA} ../Installation ${archlibdir}/Installation; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
385 fi; \
422
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
386 ${INSTALL_DATA} lib-src/config.values ${docdir}/config.values; \
420
41dbb7a9d5f2 Import from CVS: tag r21-2-18
cvs
parents: 412
diff changeset
387 ${INSTALL_DATA} lib-src/DOC ${docdir}/DOC; \
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
388 for subdir in `find ${archlibdir} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
389 do (cd $${subdir} && $(RM) -r RCS CVS SCCS \#* *~) ; done ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
390 else true; fi
2720
6fa9919a9a0b [xemacs-hg @ 2005-04-08 23:10:01 by crestani]
crestani
parents: 2536
diff changeset
391 #if (defined(PDUMP) && !defined (DUMP_IN_EXEC)) || (defined (PDUMP) && defined(WIN32_NATIVE))
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 430
diff changeset
392 ${INSTALL_DATA} src/${PROGNAME}.dmp ${bindir}/${PROGNAME}-${version}-`src/${PROGNAME} -sd`.dmp
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 430
diff changeset
393 #endif
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 430
diff changeset
394 #ifdef WIN32_NATIVE
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
395 ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
396 -chmod 0755 ${bindir}/${PROGNAME}
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
397 #else
2388
cfff883d4990 [xemacs-hg @ 2004-11-14 12:19:55 by crestani]
crestani
parents: 2259
diff changeset
398 # ifdef CYGWIN
cfff883d4990 [xemacs-hg @ 2004-11-14 12:19:55 by crestani]
crestani
parents: 2259
diff changeset
399 ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}-${version}.exe
cfff883d4990 [xemacs-hg @ 2004-11-14 12:19:55 by crestani]
crestani
parents: 2259
diff changeset
400 -chmod 0755 ${bindir}/${PROGNAME}-${version}.exe
cfff883d4990 [xemacs-hg @ 2004-11-14 12:19:55 by crestani]
crestani
parents: 2259
diff changeset
401 cd ${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version}.exe ./${PROGNAME}
cfff883d4990 [xemacs-hg @ 2004-11-14 12:19:55 by crestani]
crestani
parents: 2259
diff changeset
402 # else
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
403 ${INSTALL_PROGRAM} src/${PROGNAME} ${bindir}/${PROGNAME}-${version}
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
404 -chmod 0755 ${bindir}/${PROGNAME}-${version}
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
405 cd ${bindir} && $(RM) ./${PROGNAME} && ${LN_S} ${PROGNAME}-${version} ./${PROGNAME}
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 430
diff changeset
406 # endif /* CYGWIN */
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 430
diff changeset
407 #endif /* WIN32_NATIVE */
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
408 if test "${prefix}" != "${exec_prefix}"; then \
426
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
409 $(MAKEPATH) ${exec_prefix}/lib/${instvardir}; \
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
410 for dir in \
422
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
411 lib/${inststaticdir} \
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
412 lib/${instvardir}/etc \
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
413 lib/${instvardir}/info \
95016f13131a Import from CVS: tag r21-2-19
cvs
parents: 420
diff changeset
414 lib/${instvardir}/lisp; do \
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
415 if test ! -d ${exec_prefix}/$${dir}; then \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
416 $(LN_S) ${prefix}/$${dir} ${exec_prefix}/$${dir}; fi; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
417 done; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
418 fi
997
89cca5f594bd [xemacs-hg @ 2002-09-10 15:37:48 by james]
james
parents: 801
diff changeset
419 #ifdef HAVE_SHLIB
89cca5f594bd [xemacs-hg @ 2002-09-10 15:37:48 by james]
james
parents: 801
diff changeset
420 $(INSTALL_DATA) $(srcdir)/modules/auto-autoloads.* $(moduledir)
89cca5f594bd [xemacs-hg @ 2002-09-10 15:37:48 by james]
james
parents: 801
diff changeset
421 #endif
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
422
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
423 install-arch-indep: mkdir info
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
424 -@set ${COPYDESTS} ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
425 for dir in ${COPYDIR} ; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
426 if test "`(cd $$1 && $(pwd))`" != \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
427 "`(cd $${dir} && $(pwd))`"; then \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
428 : do nothing - echo "rm -rf $$1" ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
429 fi ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
430 shift ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
431 done
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
432 -set ${COPYDESTS} ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
433 for dir in ${COPYDESTS} ; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
434 if test ! -d $${dir} ; then mkdir $${dir} ; fi ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
435 done ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
436 for dir in ${COPYDIR} ; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
437 dest=$$1 ; shift ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
438 test -d $${dir} \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
439 -a "`(cd $${dir} && $(pwd))`" != \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
440 "`(cd $${dest} && $(pwd))`" \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
441 && (echo "Copying $${dir}..." ; \
430
a5df635868b2 Import from CVS: tag r21-2-23
cvs
parents: 426
diff changeset
442 (cd $${dir} && $(TAR) -cf - . ) | \
a5df635868b2 Import from CVS: tag r21-2-23
cvs
parents: 426
diff changeset
443 (cd $${dest} && umask 022 && $(TAR) -xf - );\
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
444 chmod 0755 $${dest}; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
445 for subdir in `find $${dest} -type d ! -name RCS ! -name SCCS ! -name CVS -print` ; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
446 (cd $${subdir} && $(RM) -r RCS CVS SCCS \#* *~) ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
447 done) ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
448 done
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
449 if test "`(cd ${srcdir}/info && $(pwd))`" != \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
450 "`(cd ${infodir} && $(pwd))`" && cd ${srcdir}/info; then \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
451 if test ! -f ${infodir}/dir -a -f dir ; then \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
452 ${INSTALL_DATA} ${srcdir}/info/dir ${infodir}/dir ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
453 fi ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
454 for file in *.info* ; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
455 ${INSTALL_DATA} $${file} ${infodir}/$${file} ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
456 chmod 0644 ${infodir}/$${file}; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
457 done ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
458 fi
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
459 cd ${srcdir}/etc && \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
460 for page in xemacs etags ctags gnuserv gnuclient gnuattach gnudoit; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
461 ${INSTALL_DATA} ${srcdir}/etc/$${page}.1 ${mandir}/$${page}${manext} ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
462 chmod 0644 ${mandir}/$${page}${manext} ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
463 done
2128
3c2d928e17ad [xemacs-hg @ 2004-06-14 11:01:20 by stephent]
stephent
parents: 2016
diff changeset
464 @echo "If you would like to save approximately 4M of disk space, do"
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
465 @echo "make gzip-el"
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
466 @echo "or you may run "
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
467 @echo ${srcdir}/lib-src/gzip-el.sh lispdir " from the command line."
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
468 @echo "Where lispdir is where the lisp files were installed, i.e.,"
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
469 @echo "${lispdir}"
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
470
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
471 gzip-el:
426
43177a4f3daf Import from CVS: tag r21-2-21
cvs
parents: 424
diff changeset
472 $(SHELL) ${srcdir}/lib-src/gzip-el.sh ${lispdir}
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
473
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
474 ## Build all the directories to install XEmacs in.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
475 ## Since we may be creating several layers of directories,
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
476 ## (e.g. /usr/local/lib/${PROGNAME}-20.5/sparc-sun-solaris2.6), we use
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
477 ## make-path instead of mkdir. Not all mkdirs have the `-p' flag.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
478 mkdir: FRC.mkdir
444
576fb035e263 Import from CVS: tag r21-2-37
cvs
parents: 442
diff changeset
479 ${MAKEPATH} ${COPYDESTS} ${docdir} ${infodir} ${archlibdir} \
1349
2e6e691f6649 [xemacs-hg @ 2003-03-09 17:23:50 by scop]
scop
parents: 1330
diff changeset
480 ${mandir} ${bindir} ${datadir} ${libdir} \
598
6452bb72f5b9 [xemacs-hg @ 2001-06-01 05:07:19 by martinb]
martinb
parents: 532
diff changeset
481 #ifdef HAVE_SHLIB
6452bb72f5b9 [xemacs-hg @ 2001-06-01 05:07:19 by martinb]
martinb
parents: 532
diff changeset
482 ${moduledir} ${sitemoduledir} \
6452bb72f5b9 [xemacs-hg @ 2001-06-01 05:07:19 by martinb]
martinb
parents: 532
diff changeset
483 #endif
6452bb72f5b9 [xemacs-hg @ 2001-06-01 05:07:19 by martinb]
martinb
parents: 532
diff changeset
484 ${sitelispdir}
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
485
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
486 ## Delete all the installed files that the `install' target would
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
487 ## create (but not the noninstalled files such as `make all' would
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
488 ## create).
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
489
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
490 #### Don't delete the lisp and etc directories if they're in the source tree.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
491 #### This target has not been updated in sometime and until it is it
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
492 #### would be extremely dangerous for anyone to use it.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
493 ##uninstall:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
494 ## (cd ./lib-src; \
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
495 ## $(MAKE) $(RECURSIVE_MAKE_ARGS) uninstall \
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
496 ## prefix=${prefix} exec_prefix=${exec_prefix} \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
497 ## bindir=${bindir} libdir=${libdir} archlibdir=${archlibdir})
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
498 ## for dir in ${lispdir} ${etcdir} ; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
499 ## case `(cd $${dir} ; $(pwd))` in \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
500 ## `(cd ${srcdir} ; $(pwd))`* ) ;; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
501 ## * ) $(RM) $${dir} ;; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
502 ## esac ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
503 ## case $${dir} in \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
504 ## ${datadir}/${PROGNAME}/${version}/* ) \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
505 ## $(RM) -r ${datadir}/${PROGNAME}/${version} \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
506 ## ;; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
507 ## esac ; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
508 ## done
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
509 ## cd ${infodir} && $(RM) cl* ${PROGNAME}* forms* info* vip*
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
510 ## cd ${mandir} && $(RM) xemacs.1 etags.1 ctags.1 gnuserv.1
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
511 ## cd ${bindir} && $(RM) ${PROGNAME}-${version} ${PROGNAME}
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
512
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
513
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
514 ## Some makes seem to remember that they've built something called FRC,
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
515 ## so you can only use a given FRC once per makefile.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
516 FRC FRC.src.paths.h FRC.mkdir FRC.dump-elcs FRC.info:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
517 FRC.mostlyclean FRC.clean FRC.distclean FRC.realclean FRC.tags:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
518
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
519 ## ==================== Cleaning up and miscellanea ====================
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
520
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
521 .PHONY: mostlyclean clean distclean realclean extraclean
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
522
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
523 ## `mostlyclean'
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
524 ## Like `clean', but may refrain from deleting a few files that people
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
525 ## normally don't want to recompile. For example, the `mostlyclean'
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
526 ## target for GCC does not delete `libgcc.a', because recompiling it
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
527 ## is rarely necessary and takes a lot of time.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
528 mostlyclean: FRC.mostlyclean
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
529 for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1314
diff changeset
530 $(RM) core
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
531
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
532 ## `clean'
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
533 ## Delete all files from the current directory that are normally
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
534 ## created by building the program. Don't delete the files that
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
535 ## record the configuration. Also preserve files that could be made
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
536 ## by building, but normally aren't because the distribution comes
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
537 ## with them.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
538
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
539 ## Delete `.dvi' files here if they are not part of the distribution.
1889
bf8be6575eae [xemacs-hg @ 2004-01-28 11:20:34 by stephent]
stephent
parents: 1633
diff changeset
540
bf8be6575eae [xemacs-hg @ 2004-01-28 11:20:34 by stephent]
stephent
parents: 1633
diff changeset
541 ## Remove the generated load files here; they cause lots of problems
bf8be6575eae [xemacs-hg @ 2004-01-28 11:20:34 by stephent]
stephent
parents: 1633
diff changeset
542 ## when they don't work right. (beta can't depend on distclean, which
bf8be6575eae [xemacs-hg @ 2004-01-28 11:20:34 by stephent]
stephent
parents: 1633
diff changeset
543 ## removes necessary files generated by configure.)
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
544 clean: FRC.clean
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
545 for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
1889
bf8be6575eae [xemacs-hg @ 2004-01-28 11:20:34 by stephent]
stephent
parents: 1633
diff changeset
546 $(RM) core lisp/auto-autoloads.el* lisp/custom-load.el*
bf8be6575eae [xemacs-hg @ 2004-01-28 11:20:34 by stephent]
stephent
parents: 1633
diff changeset
547 $(RM) lisp/mule/auto-autoloads.el* lisp/mule/custom-load.el*
bf8be6575eae [xemacs-hg @ 2004-01-28 11:20:34 by stephent]
stephent
parents: 1633
diff changeset
548 $(RM) modules/auto-autoloads.el* modules/custom-load.el*
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
549
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
550 ## `distclean'
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
551 ## Delete all files from the current directory that are created by
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
552 ## configuring or building the program. If you have unpacked the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
553 ## source and built the program without creating any other files,
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
554 ## `make distclean' should leave only the files that were in the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
555 ## distribution.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
556 top_distclean=\
394
7d59cb494b73 Import from CVS: tag r21-2-12
cvs
parents: 388
diff changeset
557 $(RM) config.status config.log confdefs.h config-tmp-* build-install Installation ; \
1330
4542b72c005e [xemacs-hg @ 2003-03-01 07:25:26 by ben]
ben
parents: 1314
diff changeset
558 $(RM) TAGS .sbinit lock/* GNUmakefile Makefile Makefile.in ; \
382
064ab7fed2e0 Import from CVS: tag r21-2-6
cvs
parents: 380
diff changeset
559 $(RM) lisp/finder-inf.el* Installation.el Installation.elc ; \
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 422
diff changeset
560 $(RM) -r site-packages xemacs-packages mule-packages site-lisp
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
561
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
562 distclean: FRC.distclean
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
563 for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
564 -${top_distclean}
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
565
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
566 ## `realclean'
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
567 ## Delete everything from the current directory that can be
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
568 ## reconstructed with this Makefile. This typically includes
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
569 ## everything deleted by distclean, plus more: C source files
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
570 ## produced by Bison, tags tables, info files, and so on.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
571
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
572 ## One exception, however: `make realclean' should not delete
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
573 ## `configure' even if `configure' can be remade using a rule in the
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
574 ## Makefile. More generally, `make realclean' should not delete
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
575 ## anything that needs to exist in order to run `configure' and then
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
576 ## begin to build the program.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
577 realclean: FRC.realclean
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
578 for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
579 -${top_distclean}
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
580 $(RM) TAGS
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
581
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
582 ## This doesn't actually appear in the coding standards, but Karl
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
583 ## says GCC supports it, and that's where the configuration part of
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
584 ## the coding standards seem to come from. It's like distclean, but
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
585 ## it deletes backup and autosave files too.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
586 extraclean:
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
587 for d in $(SUBDIR); do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
588 $(RM) *~ \#*
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
589 -${top_distclean}
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
590
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
591 ## Unlocking and relocking. The idea of these productions is to reduce
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
592 ## hassles when installing an incremental tar of XEmacs. Do `make unlock'
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
593 ## before unlocking the file to take the write locks off all sources so
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
594 ## that tar xvof will overwrite them without fuss. Then do `make relock'
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
595 ## afterward so that VC mode will know which files should be checked in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
596 ## if you want to mung them.
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
597
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
598 ## Note: it's no disaster if these productions miss a file or two; tar
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
599 ## and VC will swiftly let you know if this happens, and it is easily
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
600 ## corrected.
2536
7edc33019aa4 [xemacs-hg @ 2005-01-31 20:01:49 by ben]
ben
parents: 2427
diff changeset
601 SOURCES = ChangeLog INSTALL Makefile.in.in PROBLEMS \
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
602 README build-install.in configure make-dist move-if-change
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
603
1314
15a91d7ae2d1 [xemacs-hg @ 2003-02-20 08:16:21 by ben]
ben
parents: 1303
diff changeset
604 .PHONY: unlock relock TAGS tags dist info dvi mcs
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
605
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
606 unlock:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
607 chmod u+w $(SOURCES) cpp/*
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
608 -cd ./elisp && chmod u+w Makefile README *.texi
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
609 for d in src etc lib-src lisp; do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
610 cd ./lisp/term && chmod u+w README *.el
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
611 cd ./man && chmod u+w *texi* ChangeLog split-man
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
612 cd ./lwlib && chmod u+w *.[ch] Makefile.in.in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
613
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
614 relock:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
615 chmod u-w $(SOURCES) cpp/*
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
616 -cd ./elisp && chmod u-w Makefile README *.texi
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
617 for d in src etc lib-src lisp; do (cd ./$$d && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@); done
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
618 cd ./lisp/term && chmod u+w README *.el
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
619 cd ./man && chmod u+w *texi* ChangeLog split-man
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
620 cd ./lwlib && chmod u+w *.[ch] Makefile.in.in
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
621
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
622 PRUNE_VC = -name SCCS -prune -o -name RCS -prune -o -name CVS -prune -o
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
623 tagslisp = lisp
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
624 TAGS tags: FRC.tags
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
625 @echo "If you don't have a copy of etags around, then do 'make lib-src' first."
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
626 $(RM) ${srcdir}/TAGS
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
627 @PATH=`$(pwd)`/lib-src:$$PATH HOME=/-=-; export PATH HOME; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
628 echo "Using etags from `which etags`."
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
629 PATH=`$(pwd)`/lib-src:$$PATH ; export PATH; cd ${srcdir} && \
1011
fac45095e485 [xemacs-hg @ 2002-09-20 22:19:05 by youngs]
youngs
parents: 997
diff changeset
630 find src lwlib lib-src modules ${PRUNE_VC} -name '*.[ch]' -print | \
1441
049c7092a496 [xemacs-hg @ 2003-05-02 06:00:41 by stephent]
stephent
parents: 1349
diff changeset
631 xargs etags -a \
049c7092a496 [xemacs-hg @ 2003-05-02 06:00:41 by stephent]
stephent
parents: 1349
diff changeset
632 -r '/[ ]*DEF\(VAR\|INE\)_[A-Z_]+[ ]*([ ]*"\([^"]+\)"/\2/' \
049c7092a496 [xemacs-hg @ 2003-05-02 06:00:41 by stephent]
stephent
parents: 1349
diff changeset
633 -r '/^DEFUN[ ]*([ ]*"\([^"]+\)"[ ]*,[ ]*\([A-Za-z0-9_]+\)/\2/'; \
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
634 find ${tagslisp} ${PRUNE_VC} -name '*.el' ! -name 'auto-autoloads.el' -print | \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
635 xargs etags -a -l none -r "/^(def\\(var\\|un\\|alias\\|const\\|macro\\|subst\\|struct\\|face\\|group\\|custom\\|ine-\\(function\\|compiler-macro\\|[a-z-]+alias\\)\\)[ ]+'?\\([^ ]+\\)/\\3/"
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
636
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
637 info: FRC.info
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
638 cd ${srcdir}/man && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
639
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
640 dvi:
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2388
diff changeset
641 cd ${srcdir}/man && $(MAKE) $(RECURSIVE_MAKE_ARGS) $@
380
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
642
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
643 ## Fix up version information in executables (Solaris-only)
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
644 mcs:
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
645 date=`LANG=C LC_ALL=C date -u '+%e %b %Y'`; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
646 ident="@(#)RELEASE VERSION XEmacs ${version} $${date}"; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
647 for f in `file lib-src/* src/${PROGNAME} | grep ELF | sed -e 's/:.*//'`; do \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
648 mcs -da "$${ident} `echo $${f} | sed 's/.*\///'`" $${f}; \
8626e4521993 Import from CVS: tag r21-2-5
cvs
parents:
diff changeset
649 done