Annotation of Gnu-Mach/Makerules.mig.am, revision 1.1

1.1     ! root        1: # Makerules.mig: how to do some MIG-related things.
        !             2: 
        !             3: # Copyright (C) 2006, 2007, 2009 Free Software Foundation, Inc.
        !             4: 
        !             5: # This program is free software; you can redistribute it and/or modify it
        !             6: # under the terms of the GNU General Public License as published by the
        !             7: # Free Software Foundation; either version 2, or (at your option) any later
        !             8: # version.
        !             9: # 
        !            10: # This program is distributed in the hope that it will be useful, but
        !            11: # WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
        !            12: # or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
        !            13: # for more details.
        !            14: # 
        !            15: # You should have received a copy of the GNU General Public License along
        !            16: # with this program; if not, write to the Free Software Foundation, Inc.,
        !            17: # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
        !            18: # 
        !            19: # Written by Thomas Schwinge.
        !            20: 
        !            21: # serial 0
        !            22: 
        !            23: # TODO.  This file should probably be distributed with GNU MIG and then there
        !            24: # should be some mechanism so that every package using it is automagically
        !            25: # using the latest available (or best-matching) version of it.  Which is not
        !            26: # trivial, as the file is already needed to build the build system.  But then,
        !            27: # this file does not really depend on GNU Automake.  Hmm...
        !            28: 
        !            29: # USAGE.
        !            30: 
        !            31: # Before `include'ing this file, `noinst_LIBRARIES' and `MOSTLYCLEANFILES' have
        !            32: # to be initialized.
        !            33: 
        !            34: # For using these rules, `AM_CPPFLAGS', `MIGCOM', `MIGCOMFLAGS', `MIGCOMSFLAGS'
        !            35: # and `MIGCOMUFLAGS' have to be defined as desired.
        !            36: 
        !            37: # Then you can (read: currently ``have to''; see below for comments) use
        !            38: # constructs like:
        !            39: #
        !            40: # # User stubs.
        !            41: # nodist_lib_dep_tr_for_defs_a_SOURCES += \
        !            42: #      vm/memory_object_user.user.defs.c
        !            43: # nodist_libkernel_a_SOURCES += \
        !            44: #      vm/memory_object_user.user.h \
        !            45: #      vm/memory_object_user.user.c \
        !            46: #      vm/memory_object_user.user.msgids
        !            47: #
        !            48: # # Server stubs.
        !            49: # nodist_lib_dep_tr_for_defs_a_SOURCES += \
        !            50: #      device/device.server.defs.c
        !            51: # nodist_libkernel_a_SOURCES += \
        !            52: #      device/device.server.h \
        !            53: #      device/device.server.c \
        !            54: #      device/device.server.msgids
        !            55: 
        !            56: #
        !            57: # Building RPC stubs.
        !            58: #
        !            59: 
        !            60: # TODO.  Get rid of that stuff, lib_dep_tr_for_defs.a and the four following
        !            61: # rules.  See the thread at
        !            62: # <http://lists.gnu.org/archive/html/automake/2006-10/msg00039.html> about what
        !            63: # we really want to do.  This requires work on GNU Automake.
        !            64: 
        !            65: noinst_LIBRARIES += \
        !            66:        lib_dep_tr_for_defs.a
        !            67: nodist_lib_dep_tr_for_defs_a_SOURCES =
        !            68: MOSTLYCLEANFILES += \
        !            69:        $(nodist_lib_dep_tr_for_defs_a_SOURCES)
        !            70: # Preprocess only.
        !            71: lib_dep_tr_for_defs_a_CPPFLAGS = $(AM_CPPFLAGS) \
        !            72:        -E
        !            73: 
        !            74: %.server.defs.c: %.srv
        !            75:        $(AM_V_at) rm -f $@
        !            76:        $(AM_V_GEN) cp -p $< $@
        !            77: %.user.defs.c: %.cli
        !            78:        $(AM_V_at) rm -f $@
        !            79:        $(AM_V_GEN) cp -p $< $@
        !            80: %.server.h %.server.c %.server.msgids: lib_dep_tr_for_defs_a-%.server.defs.$(OBJEXT)
        !            81:        $(MIGCOM_V) $(MIGCOM) $(MIGCOMFLAGS) $(MIGCOMSFLAGS)    \
        !            82:          -sheader $*.server.h -server $*.server.c              \
        !            83:          -list $*.server.msgids                                \
        !            84:          < $<
        !            85: %.user.h %.user.c %.user.msgids: lib_dep_tr_for_defs_a-%.user.defs.$(OBJEXT)
        !            86:        $(MIGCOM_V) $(MIGCOM) $(MIGCOMFLAGS) $(MIGCOMUFLAGS)    \
        !            87:          -user $*.user.c -header $*.user.h                     \
        !            88:          -list $*.user.msgids                                  \
        !            89:          < $<
        !            90: 
        !            91: # This is how it should be done, but this is not integrated into GNU Automake
        !            92: # and is missing automatic inter-file dependency management because of that.
        !            93: 
        !            94: # These chained rules could be (and used to be) single rules using pipes or
        !            95: # could even --- if you dare to --- use the `mig' shell script, but it's
        !            96: # convenient to be able to explicitly make the intermediate files when you want
        !            97: # to deal with a problem in the MIG stub generator.
        !            98: 
        !            99: # TODO.  Get rid of the .srv files and rather use .defs files and MIG*SFLAGS?
        !           100: #%.server.defs: %.srv
        !           101: #      $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) -o $@ $<
        !           102: #%.server.defs: %.defs
        !           103: #      $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) $(MIGSFLAGS) -o $@ $<
        !           104: #%.server.h %.server.c %.server.msgids: %.server.defs
        !           105: #      $(MIGCOM) $(MIGCOMFLAGS) $(MIGCOMSFLAGS)        \
        !           106: #        -sheader $*.server.h -server $*.server.c      \
        !           107: #        -list $*.server.msgids                        \
        !           108: #        < $<
        !           109: # TODO.  Get rid of the .cli files and rather use .defs files and MIG*UFLAGS?
        !           110: #%.user.defs: %.cli
        !           111: #      $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) -o $@ $<
        !           112: #%.user.defs: %.defs
        !           113: #      $(CPP) $(AM_CPPFLAGS) $(CPPFLAGS) $(MIGUFLAGS) -o $@ $<
        !           114: #%.user.h %.user.c %.user.msgids: %.user.defs
        !           115: #      $(MIGCOM) $(MIGCOMFLAGS) $(MIGCOMUFLAGS)        \
        !           116: #        -user $*.user.c -header $*.user.h             \
        !           117: #        -list $*.user.msgids                          \
        !           118: #        < $<

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.