rules1.top
上传用户:weiliju62
上传日期:2007-01-06
资源大小:619k
文件大小:7k
源码类别:

SCSI/ASPI

开发平台:

MultiPlatform

  1. #ident "@(#)rules1.top 1.19 99/08/28 "
  2. ###########################################################################
  3. # Written 1996 by J. Schilling
  4. ###########################################################################
  5. #
  6. # Rules that should be included at top of every Makefile
  7. # Do not include this file directly; this is the language independent
  8. # version that may be included in special purpose versions.
  9. #
  10. ###########################################################################
  11. # This program is free software; you can redistribute it and/or modify
  12. # it under the terms of the GNU General Public License as published by
  13. # the Free Software Foundation; either version 2, or (at your option)
  14. # any later version.
  15. #
  16. # This program is distributed in the hope that it will be useful,
  17. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  18. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  19. # GNU General Public License for more details.
  20. #
  21. # You should have received a copy of the GNU General Public License
  22. # along with this program; see the file COPYING.  If not, write to
  23. # the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
  24. ###########################################################################
  25. #
  26. # Global definitions:
  27. #
  28. # Define magic unique cookie
  29. #
  30. ###########################################################################
  31. _UNIQ= .XxZzy-
  32. ###########################################################################
  33. #
  34. # Global handler for failed inludes
  35. #
  36. ###########################################################################
  37. .INCLUDEFAILED:
  38. $(SRCROOT)/conf/makeinc $r1
  39. ###########################################################################
  40. #
  41. # Some global constants or pre-definitions
  42. #
  43. ###########################################################################
  44. LCONFIG=ldummy.cnf
  45. ###########################################################################
  46. ###########################################################################
  47. #
  48. # Standard (automatic) makeprog identification
  49. #
  50. # Each make program should define a macro: MAKE_NAME for identification.
  51. # MAKE_NAME in this case is a built in macro like MAKE or MAKEFLAGS.
  52. # Currently only 'smake' implements this feature.
  53. #
  54. ###########################################################################
  55. _MAKEPROG= $(_UNIQ)$(MAKE_NAME)
  56. __MAKEPROG= $(_MAKEPROG:$(_UNIQ)=$(MAKEPROG))
  57. _XMAKEPROG= $(__MAKEPROG:$(_UNIQ)%=%)
  58. # gmake defines a macro MAKE_COMMAND. If neither MAKE_NAME is defined by 
  59. # the make program, not MAKEPROG is set, try this to recognize gmake.
  60. #
  61. _MAKE_COMMAND= $(MAKE_COMMAND:%make=gmake)
  62. __XMAKEPROG= $(_UNIQ)$(_XMAKEPROG)
  63. ___XMAKEPROG= $(__XMAKEPROG:$(_UNIQ)=$(_MAKE_COMMAND))
  64. XMAKEPROG= $(___XMAKEPROG:$(_UNIQ)%=%)
  65. include $(SRCROOT)/$(RULESDIR)/mk-$(XMAKEPROG).id
  66. ###########################################################################
  67. #
  68. # Standard (automatic) os identification
  69. #
  70. ###########################################################################
  71. include $(SRCROOT)/$(RULESDIR)/os-$(OSNAME).id
  72. ###########################################################################
  73. #
  74. # Global os definitions
  75. #
  76. ###########################################################################
  77. include $(SRCROOT)/$(RULESDIR)/os-$(O_ARCH).def
  78. ###########################################################################
  79. #
  80. # Some global project definitions that may be overwritten in 'Defaults'
  81. #
  82. ###########################################################################
  83. CWARNOPTS= $(CWOPTS)
  84. ###########################################################################
  85. #
  86. # Global project definitions
  87. #
  88. ###########################################################################
  89. DEF_ROOT= $(SRCROOT)
  90. DEF_DIR= DEFAULTS
  91. _DEFAULTSROOT= $(_UNIQ)$(DEFAULTSROOT)
  92. __DEFAULTSROOT= $(_DEFAULTSROOT:$(_UNIQ)=$(DEF_ROOT))
  93. DEFLTSROOT= $(__DEFAULTSROOT:$(_UNIQ)%=%)
  94. _DEFAULTSDIR= $(_UNIQ)$(DEFAULTSDIR)
  95. __DEFAULTSDIR= $(_DEFAULTSDIR:$(_UNIQ)=$(DEF_DIR))
  96. DEFLTSDIR= $(__DEFAULTSDIR:$(_UNIQ)%=%)
  97. include $(DEFLTSROOT)/$(DEFLTSDIR)/Defaults
  98. ###########################################################################
  99. #
  100. # Get curent directory name
  101. #
  102. ###########################################################################
  103. _DIRNAME= $(_UNIQ)$(DIRNAME)
  104. __DIRNAME= $(_DIRNAME:$(_UNIQ)=...)
  105. CURDIR= $(__DIRNAME:$(_UNIQ)%=%)
  106. ###########################################################################
  107. #
  108. # Standard UNIX compiler name for use as architecture name.
  109. #
  110. # (this is not necessarily the name the compiler is called by)
  111. # This is now defined in $(DEFAULTSROOT)/Defaults
  112. # If not ... use 'cc'
  113. #
  114. ###########################################################################
  115. DEFCCOM_DEF= cc
  116. _DEFCCOM= $(_UNIQ)$(DEFCCOM)
  117. __DEFCCOM= $(_DEFCCOM:$(_UNIQ)=$(DEFCCOM_DEF))
  118. CCOM_DEF= $(__DEFCCOM:$(_UNIQ)%=%)
  119. _CCOM= $(_UNIQ)$(CCOM)
  120. __CCOM= $(_CCOM:$(_UNIQ)=$(CCOM_DEF))
  121. C_ARCH= $(__CCOM:$(_UNIQ)%=%)
  122. ###########################################################################
  123. #
  124. # Standard default include directories
  125. #
  126. ###########################################################################
  127. DEFINCDIRS_DEF= $(SRCROOT)/include
  128. _INCDIRS= $(_UNIQ)$(DEFINCDIRS)
  129. __INCDIRS= $(_INCDIRS:$(_UNIQ)=$(DEFINCDIRS_DEF))
  130. INCDIRS= $(__INCDIRS:$(_UNIQ)%=%)
  131. ###########################################################################
  132. #
  133. # Build $(ARCHDIR) which occupies a central role in the whole
  134. # make file system. ARCHDIR is used as a sub directory name to keep
  135. # platform dependent files on different places.
  136. #
  137. # It is built from:
  138. # - processor type
  139. # - operating system
  140. # - compiler identification
  141. #
  142. # A possible name could be:
  143. # mc68020-sunos4-cc
  144. #
  145. ###########################################################################
  146. KARCH_DEF= $(K_ARCH)
  147. MARCH_DEF= $(M_ARCH)
  148. PARCH_DEF= $(P_ARCH)
  149. KARCH= K_ARCH
  150. _MARCH= $(_UNIQ)$(ARCH)
  151. __MARCH= $(_MARCH:$(_UNIQ)=$(MARCH_DEF))
  152. MARCH= $(__MARCH:$(_UNIQ)%=%)
  153. _PARCH= $(_UNIQ)$(ARCH)
  154. __PARCH= $(_PARCH:$(_UNIQ)=$(PARCH_DEF))
  155. PARCH= $(__PARCH:$(_UNIQ)%=%)
  156. #OARCH= $(MARCH)$(-O_ARCH)-$(C_ARCH)
  157. OARCH= $(PARCH)$(-O_ARCH)-$(C_ARCH)
  158. XARCH= $(K_ARCH)$(-O_ARCH)-$(C_ARCH)
  159. .print:
  160. echo $(XP_ARCH) $(P_ARCH)
  161. ###########################################################################
  162. #
  163. # All generated files are placed directly into this subdirectory.
  164. # This includes e.g. yacc output (.c & .h files).
  165. # SUBARCH is used if a object is conditional compiled in multiple ways.
  166. #
  167. ###########################################################################
  168. OARCHDIR= OBJ/$(OARCH)
  169. ARCHDIR= OBJ/$(OARCH)$(SUBARCHDIR)$(SUBARCH)
  170. ###########################################################################
  171. OLIBSDIR= $(SRCROOT)/libs/$(OARCH)
  172. OINCSDIR= $(SRCROOT)/incs/$(OARCH)
  173. ###########################################################################
  174. # Location for targets:
  175. #
  176. # - all : see appropriate rules
  177. # - clean, clobber, distclean, relink, rmtarget : rules.clr
  178. # - install, ibins : rules.ins
  179. # - depend, rmdep : rules.dep
  180. # - config : rules.cnf
  181. # - tags, TAGS : rules.tag
  182. # - .help : rules.hlp
  183. #
  184. ###########################################################################
  185. ALLTARGETS= all clean clobber distclean install ibins depend rmdep 
  186. config TAGS tags rmtarget relink