BUILD
上传用户:xiejiait
上传日期:2007-01-06
资源大小:881k
文件大小:7k
源码类别:

SCSI/ASPI

开发平台:

MultiPlatform

  1. Short overview for those who don't read manuals:
  2. There is no 'configure', simply call 'make' on the top level
  3. directory.
  4. All results in general will be placed into a directory named 
  5. OBJ/<arch-name>/ in the current projects leaf directory.
  6. You **need** either my "smake" program, the SunPRO make 
  7. from /usr/bin/make (SunOS 4.x) or /usr/ccs/bin/make (SunOS 5.x)
  8. or GNU make to compile this program. Read README.gmake for 
  9. more information on gmake.
  10. All other make programs are either not smart enough or have bugs.
  11. My "smake" is (in binary form) in the makefiles distribution 
  12. on: ftp://ftp.fokus.gmd.de/pub/unix/makefiles/makefiles-*
  13. The newest 'smake' binaries are
  14. on: ftp://ftp.fokus.gmd.de/pub/unix/makefiles/bin/*
  15. If you have the choice between all three make programs, the
  16. preference would be 
  17. 1) smake (preferred)
  18. 2) SunPRO make
  19. 3) GNU make (this is the last resort)
  20. Important notice: "smake" that comes with SGI/IRIX will not work!!!
  21. Please read the README's for your operating system too.
  22. WARNING
  23. Do not use 'mc' to extract the tar file!
  24. All mc versions before 4.0.14 cannot extract symbolic links correctly.
  25. The versions of WinZip that support tar arvchives cannot be used too.
  26. The reason is that they don't support symbolic links.
  27. Star and Gnutar do support symbolic links even on win32 systems.
  28. To support symbolic links on win32, you need to link with the
  29. Cygwin32 POSIX library.
  30. To unpack an archive use:
  31. gzip -d < star.tar.gz | tar -xpf -
  32. Replace 'star' by the actual archive name.
  33. Here comes the long form:
  34. PREFACE:
  35. You don't have to call configure with this make file system.
  36. Calling 'make' or 'make all' on the top level directory will create
  37. all needed targets. Calling 'make install' will install all needed
  38. files.
  39. This program uses a new makefilesystem. The makefilesystem is optimized
  40. for a program called 'smake' Copyright 1985 by J鰎g Schilling, but
  41. SunPro make (the make program that comes with SunOS >= 4.0 and Solaris)
  42. as well as newer versions of GNU make will work also.
  43. BSDmake could be make working, if it supports pattern matching rules
  44. correctly.
  45. The makefile system allows simultaneous compilation on a wide
  46. variety of target systems if the source tree is accessible via NFS.
  47. Finding Compilation Results:
  48. To allow this, all binaries and results of a 'compilation' in any form
  49. are placed in sub-directories. This includes automatically generated
  50. include files. Results in general will be placed into
  51. a directory named OBJ/<arch-name>/ in the current projects
  52. leaf directory, libraries will be placed into a directory called
  53. libs/<arch-name>/ that is located in the source tree root directory.
  54. <arch-name> will be something like 'sparc-sunos5-cc'
  55. How to compile:
  56. To compile a system or sub-system, simply enter 'smake', 'make' or 
  57. 'Gmake'. Compilation may be initialized at any point of the source
  58. tree of a system. If compilation is started in a sub tree, all objects
  59. in that sub tree will be made.
  60. How to install results:
  61. To install the product of a compilation in your system, call:
  62. smake install
  63. at top level. The binaries will usually be installed in 
  64. /opt/schily/bin. The directory /opt/<vendor-name>/ has been agreed
  65. on by all major UNIX vendors in 1989. Unfortunately, not all vendors
  66. follow this agreement.
  67. If you want to change the default installation directory, edit the
  68. appropriate (system dependent) files in the DEFAULTS directory
  69. (e.g. DEFAULTS/Defaults.sunos5).
  70. Using a different installation directory:
  71. If your system does not yet use the standard installation path /opt
  72. or if you don't like this installation directory, you can easily 
  73. change the installation directory. You may edit the DEFAULTS file 
  74. for your system and modify the macro INS_BASE.
  75. You may  use a different installation directory without editing the
  76. DEFAULTS files. If you like to install everything in /usr/local, call:
  77. env INS_BASE=/usr/local make install
  78. Using a different C-compiler:
  79. The default C-compiler can be modified in the files in the
  80. DEFAULT directory too. If you want to have a different compiler
  81. for one compilation, call:
  82. make CCOM=gcc
  83. or
  84. make CCOM=cc
  85. Getting help from make:
  86. For a list of targets call:
  87. make .help
  88. Getting more information on the make file system:
  89. The man page makefiles.4 located in man/man4/makefiles.4 contains
  90. the documentation on general use and for leaf makefiles.
  91. The man page makerules.4 located in man/man4/makerules.4 contains
  92. the documentation for system programmers who want to modify
  93. the make rules of the makefile system.
  94. Hints for compilation:
  95. The makefile system is optimized for 'smake'. Smake will give the
  96. fastest processing and best debugging output.
  97. SunPro make will work as is. GNU make need some special preparation.
  98. Read README.gmake for more information on gmake.
  99. To use GNU make create a file called 'Gmake' in you search path
  100. that contains:
  101. #!/bin/sh
  102. MAKEPROG=gmake
  103. export MAKEPROG
  104. exec gmake "$@"
  105. and call 'Gmake' instead of gmake. On Linux there is no gmake, 'make'
  106. on Linux is really a gmake.
  107. 'Gmake' and 'Gmake.linux' are part of this distribution.
  108. Some versions of gmake are very buggy. There are e.g. versions of gmake
  109. on some architectures that will not correctly recognize the default
  110. target. In this case call 'make all' or ../Gmake all'.
  111. If you like to use 'smake', you may obtain a copy of the makefile
  112. system. Various newer releases contain precompiled versions of 'smake'.
  113. The packages are located on:
  114. ftp://ftp.fokus.gmd.de/pub/unix/makefiles/
  115. Actual binaries are also located on:
  116. ftp://ftp.fokus.gmd.de/pub/unix/makefiles/bin/
  117. Precompiled binaries of 'smake' are also located in
  118. bins/<arch-name>/smake (e.g. bin/sparc-sunos5-cc/smake) of each
  119. package.
  120. Smake has a -D flag to see the actual makefile source used
  121. and a -d flag that gives easy to read debugging. Use smake -xM
  122. to get a makefile dependency list. Try smake -help
  123. Compiling the project using engineering defaults:
  124. The defaults found in the directory DEFAULTS are configured to
  125. give minimum warnings. This is made because many people will
  126. be irritated by warning messages and because the GNU c-compiler
  127. will give warnings that are perfectly correct and portable c-code.
  128. If you want to port code to new platforms or do engeneering
  129. on the code, you should use the alternate set of defaults found
  130. in the directory DEFAULTS_ENG.
  131. You may do this permanently by renaming the directories or
  132. for one compilation by calling:
  133. make DEFAULTSDIR=DEFAULTS_ENG
  134. Compiling the project to allow debugging with dbx/gdb:
  135. If you like to compile with debugging information for dbx or gdb,
  136. call:
  137. make clean
  138. make COPTX=-g LDOPTX=-g
  139. If you want to see an example, please have a look at the "star"
  140. source. It may be found on:
  141. ftp://ftp.fokus.gmd.de/pub/unix/star
  142. Have a look at the manual page, it is included in the distribution.
  143. Install the manual page with 
  144. make install first and include /opt/schily/man in your MANPATH
  145. Note that some systems (e.g. Solaris 2.x) require you either to call
  146. /usr/lib/makewhatis /opt/schily/man or to call 
  147. man -F <man-page-name>
  148. Author:
  149. Joerg Schilling
  150. Seestr. 110
  151. D-13353 Berlin
  152. Germany
  153. Email:  joerg@schily.isdn.cs.tu-berlin.de, js@cs.tu-berlin.de
  154. schilling@fokus.gmd.de
  155. Please mail bugs and suggestions to me.