home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / os / kludge03.tz / kludge03 / mk74 / include / Makefile < prev    next >
Makefile  |  1992-05-05  |  8KB  |  236 lines

  1. # Mach Operating System
  2. # Copyright (c) 1992,1991,1990,1989 Carnegie Mellon University
  3. # All Rights Reserved.
  4. # Permission to use, copy, modify and distribute this software and its
  5. # documentation is hereby granted, provided that both the copyright
  6. # notice and this permission notice appear in all copies of the
  7. # software, derivative works or modified versions, and any portions
  8. # thereof, and that both notices appear in supporting documentation.
  9. # CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
  10. # CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
  11. # ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
  12. # Carnegie Mellon requests users of this software to return to
  13. #  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
  14. #  School of Computer Science
  15. #  Carnegie Mellon University
  16. #  Pittsburgh PA 15213-3890
  17. # any improvements or extensions that they make and grant Carnegie Mellon 
  18. # the rights to redistribute these changes.
  19. #
  20. # HISTORY
  21. # $Log:    Makefile,v $
  22. # Revision 2.34  92/04/08  23:19:13  rpd
  23. #     Added ns532 to ARCHS.
  24. #     [92/03/26            jvh]
  25. # Revision 2.33  92/03/05  22:45:49  rpd
  26. #     Added mach/bootstrap.defs, mach/bootstrap.h.
  27. #     [92/03/02            rpd]
  28. #     Changed for new Makefile-include organization.
  29. #     [92/02/28            rpd]
  30. # Revision 2.32  92/02/19  15:06:05  elf
  31. #     Changed source location of */exec.h files, from bootstrap to kernel.
  32. #     Added {mac2,i860,luna88k}/exec.h.
  33. #     [92/02/19            rpd]
  34. #     Added Makefile-mkdirs and Makefile-mklinks.
  35. #     Added sys/varargs.h.
  36. #     [92/02/10            rpd]
  37. # Revision 2.31  92/02/18  22:15:50  elf
  38. #     Fixed type in a level 3 rule.
  39. #     [92/02/18            danner]
  40. # Revision 2.30  92/02/18  17:59:24  elf
  41. #     Added export of motorola/m88k/m88100/thread_status.h
  42. #     [92/01/22  18:18:25  danner]
  43. # Revision 2.29  92/01/28  14:31:11  rpd
  44. #     Added mach/norma_special_ports.h, mach/norma_task.defs,
  45. #     and mach/vm_param.h.
  46. #     [92/01/28            rpd]
  47. # Revision 2.28  92/01/24  00:49:28  rpd
  48. #     Fixed MAKEPSD uses, to fix shadowing.
  49. #     Removed VPATH.
  50. #     [92/01/23            rpd]
  51. # Revision 2.27  92/01/23  15:19:50  rpd
  52. #     Revised for new Makefile organization.
  53. #     [92/01/16            rpd]
  54.  
  55. # This makefile installs machine-independent Mach include files.
  56.  
  57. include ${MAKETOP}Makefile-common
  58. # more definitions, for recursive makes
  59. include ${MAKETOP}Makefile-subdirs
  60. # more definitions, for mkodirs/mkidirs/mkrdirs
  61. include ${MAKETOP}Makefile-mkdirs
  62. # more definitions, for mkilinks/mkrlinks
  63. include ${MAKETOP}Makefile-mklinks
  64.  
  65. # Files which live in ${MAKETOP}kernel
  66.  
  67. KERNEL_1 = device/device.defs device/device_reply.defs \
  68.     device/device_request.defs device/device_types.defs \
  69.     device/device_types.h device/net_status.h device/tape_status.h \
  70.     device/tty_status.h mach/boolean.h mach/boot_info.h \
  71.     mach/error.h mach/exc.defs mach/exception.h mach/host_info.h \
  72.     mach/kern_return.h mach/mach.defs mach/mach_host.defs \
  73.     mach/mach_norma.defs mach/mach_param.h mach/mach_port.defs \
  74.     mach/mach_traps.h mach/mach_types.defs mach/mach_types.h \
  75.     mach/machine.h mach/memory_object.defs mach/memory_object.h \
  76.     mach/memory_object_default.defs mach/message.h \
  77.     mach/mig_errors.h mach/msg_type.h mach/notify.defs \
  78.     mach/notify.h mach/policy.h mach/port.h mach/processor_info.h \
  79.     mach/std_types.defs mach/std_types.h mach/syscall_sw.h \
  80.     mach/task_info.h mach/task_special_ports.h mach/thread_info.h \
  81.     mach/thread_special_ports.h mach/thread_status.h \
  82.     mach/thread_switch.h mach/time_value.h mach/vm_attributes.h \
  83.     mach/vm_inherit.h mach/vm_prot.h mach/vm_statistics.h \
  84.     mach/norma_special_ports.h mach/norma_task.defs \
  85.     mach_debug/hash_info.h mach_debug/ipc_info.h \
  86.     mach_debug/mach_debug.defs mach_debug/mach_debug_types.defs \
  87.     mach_debug/mach_debug_types.h mach_debug/vm_info.h \
  88.     mach_debug/zone_info.h sys/varargs.h
  89.  
  90. # Files which live in ${MAKETOP}bootstrap
  91.  
  92. BOOTSTRAP_1 = mach/default_pager.defs mach/default_pager_types.defs \
  93.     mach/default_pager_types.h mach/bootstrap.defs
  94.  
  95. # Files which live in ${MAKETOP}user/libmach
  96.  
  97. LIBMACH_0 = errorlib.h mach.h mach_error.h mach_init.h setjmp.h strings.h
  98.  
  99. # Files which live in ${MAKETOP}user/threads
  100.  
  101. THREADS_0 = cthreads.h
  102.  
  103. # 'Dummy' files which we create directly in the installation directory
  104.  
  105. STRANGE_0 = varargs.h mig_errors.h msg_type.h
  106.  
  107. STRANGE_1 = mach/mach.h mach/vm_param.h
  108.  
  109. # Files which we create in the object directory
  110.  
  111. OBJECT_1 = device/device.h device/device_reply.h \
  112.     device/device_request.h mach/exc.h mach/mach_host.h \
  113.     mach/mach_port.h mach/mach_interface.h \
  114.     mach/memory_object_default.h mach/memory_object_user.h \
  115.     mach/notify_user.h mach_debug/mach_debug.h mach/default_pager.h \
  116.     mach/bootstrap.h
  117.  
  118. # Directories which must exist in the install/release include hierarchies
  119.  
  120. IDIRS = mach mach_debug sys device
  121.  
  122. # top-level targets
  123. # We recurse into subdirectories for machine-dependent files.
  124.  
  125. ARCHS = mips i386 vax sun3 i860 luna88k mac2 ns532
  126.  
  127. RECURSE = ${RECURSE_TEMPLATE/RECURSE_DIRS/${ARCHS}}
  128.  
  129. preinstall ::
  130.     +${RECURSE/RECURSE_TARGET/preinstall}
  131.  
  132. install ::
  133.     +${RECURSE/RECURSE_TARGET/install}
  134.  
  135. release ::
  136.     +${RECURSE/RECURSE_TARGET/release}
  137.  
  138. clean ::
  139.     +${RECURSE/RECURSE_TARGET/clean}
  140.  
  141. # installation rules for dummy files
  142.  
  143. ${INSTALLDIR}/include/mig_errors.h :
  144.     ${RM} $@
  145.     echo '#include <mach/mig_errors.h>' > $@
  146.     ${CHMOD_INC} $@
  147.  
  148. ${INSTALLDIR}/include/msg_type.h :
  149.     ${RM} $@
  150.     echo '#include <mach/msg_type.h>' > $@
  151.     ${CHMOD_INC} $@
  152.  
  153. ${INSTALLDIR}/include/varargs.h :
  154.     ${RM} $@
  155.     echo '#include <sys/varargs.h>' > $@
  156.     ${CHMOD_INC} $@
  157.  
  158. ${INSTALLDIR}/include/mach/mach.h :
  159.     ${RM} $@
  160.     echo '#include <mach.h>' > $@
  161.     ${CHMOD_INC} $@
  162.  
  163. ${INSTALLDIR}/include/mach/vm_param.h :
  164.     ${RM} $@
  165.     echo '; DO NOT INCLUDE THIS FILE ;' > $@
  166.     ${CHMOD_INC} $@
  167.  
  168. # rules to create files in the object directory:
  169. # These rules require that subdirectories exist in the object directory;
  170. # the mkodirs target will create them if necessary.
  171.  
  172. MKODIRS = mach mach_debug device
  173.  
  174. .INIT :: mkodirs
  175.  
  176. # mig rules for normal kernel files
  177.  
  178. MIG_FILES = device/device.h device/device_reply.h \
  179.     device/device_request.h mach/exc.h \
  180.     mach/mach_host.h mach/mach_port.h mach/memory_object_default.h \
  181.     mach_debug/mach_debug.h
  182.  
  183. ${MIG_FILES} : $${@;(.*)\.h;${MAKETOP}kernel/\1.defs}
  184.     ${MIG} ${MIGFLAGS} -header $@ -user /dev/null -server /dev/null ${@;(.*)\.h;${MAKETOP}kernel/\1.defs}
  185.  
  186. # mig rules for files that don't fit the pattern
  187.  
  188. mach/mach_interface.h : ${MAKETOP}kernel/mach/mach.defs
  189.     ${MIG} ${MIGFLAGS} -header $@ -user /dev/null -server /dev/null ${MAKETOP}kernel/mach/mach.defs
  190.  
  191. mach/memory_object_user.h : ${MAKETOP}kernel/mach/memory_object.defs
  192.     ${MIG} ${MIGFLAGS} -header $@ -user /dev/null -server /dev/null ${MAKETOP}kernel/mach/memory_object.defs
  193.  
  194. mach/notify_user.h : ${MAKETOP}kernel/mach/notify.defs
  195.     ${MIG} ${MIGFLAGS} -header $@ -user /dev/null -server /dev/null ${MAKETOP}kernel/mach/notify.defs
  196.  
  197. mach/default_pager.h : ${MAKETOP}bootstrap/mach/default_pager.defs
  198.     ${MIG} ${MIGFLAGS} -header $@ -user /dev/null -server /dev/null ${MAKETOP}bootstrap/mach/default_pager.defs
  199.  
  200. mach/bootstrap.h : ${MAKETOP}bootstrap/mach/bootstrap.defs
  201.     ${MIG} ${MIGFLAGS} -header $@ -user /dev/null -server /dev/null ${MAKETOP}bootstrap/mach/bootstrap.defs
  202.  
  203. # generic rules for installing/releasing include files
  204.  
  205. include Makefile-include
  206.  
  207. # We also make 'machine' links in the install and release directories.
  208. # We do this last so that the linked-to directories have already
  209. # been created.
  210.  
  211. MKILINKS = include include/mach
  212. MKRLINKS = ${MKILINKS}
  213.  
  214. preinstall :: mkilinks
  215.  
  216. install :: mkilinks
  217.  
  218. release :: mkrlinks
  219.  
  220. -include Makedep
  221.