home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / gnu / nihcl-3.0 / lib / MAKEFILE < prev    next >
Encoding:
Text File  |  1990-05-20  |  9.9 KB  |  307 lines

  1. # $Header: /afs/alw.nih.gov/unix/sun4_40c/usr/local/src/nihcl-3.0/share/lib/RCS/MAKEFILE,v 3.0 90/05/20 21:03:14 kgorlen Rel $
  2. # C++ compiler
  3. CC = CC
  4.  
  5. # C++ debug switch
  6. CCDEBUG =
  7. #CCDEBUG = -g
  8.  
  9. # C++ flags
  10. # NOTE: Disable +p option when compiling with AT&T R2.1
  11. CCFLAGS = +p
  12. #CCFLAGS =
  13.  
  14. # C++ include files
  15. I = /usr/include/CC
  16.  
  17. # If using BSD
  18. SYS = BSD
  19. # If using System V
  20. #SYS = SYSV
  21.  
  22. # Compile with nested types (works with AT&T R2.1 and GNU C++)
  23. NESTED_TYPES =
  24. #NESTED_TYPES = -DNESTED_TYPES
  25.  
  26. # Disable AT&T R2.0/R2.1 bug work-around code
  27. BUGDEFS =
  28. #BUGDEFS = -DBUG_bC2728 -DBUG_38 -DBUG_39 -DBUG_OPTYPECONST
  29. # Defining BUG_TOOBIG disables code that prevents C compiler "yacc stack overflows"
  30. #BUGDEFS = -DBUG_bC2728 -DBUG_38 -DBUG_39 -DBUG_OPTYPECONST -DBUG_TOOBIG
  31.  
  32. # Enable debug code
  33. DEBUGDEFS =
  34. #DEBUGDEFS = -DDEBUG_OBJIO -DDEBUG_PROCESS
  35.  
  36. # Flags for ln
  37. #LNFLAGS =
  38. LNFLAGS = -s
  39.  
  40. # If using "patch"
  41. MAIN = _main.c_p
  42. # If using "munch"
  43. #MAIN = _main.c_m
  44.  
  45. # For no multiple inheritance support
  46. MI =
  47. # Enable support for multiple inheritance
  48. #MI = -DMI
  49.  
  50. NIHCLLIB = libnihcl.a
  51.  
  52. CFLAGS = ${MI} ${CCDEBUG} ${CCFLAGS} ${NESTED_TYPES} ${BUGDEFS} ${DEBUGDEFS}
  53.  
  54. # Target Directories
  55. NIHCLLIBDIR = /usr/lib
  56. NIHCLINCDIR = /usr/include/nihcl
  57. NIHCLSRCDIR = /usr/local/src/nihcl
  58. ERRGENDIR = /usr/local/bin
  59. ERRTABDIR = /usr/local/lib
  60.  
  61. OBJECTS = regex.o ArrayOb.o Arraychar.o Assoc.o AssocInt.o Bag.o BitBoard.o Bitset.o Class.o Collection.o Date.o Dictionary.o Exception.o FDSet.o Float.o Fraction.o Heap.o HeapProc.o IdentDict.o IdentSet.o Integer.o Iterator.o KeySortCltn.o Link.o LinkOb.o LinkedList.o LookupKey.o Nil.o OIOTbl.o OIOfd.o OIOnih.o OIOstream.o Object.o OrderedCltn.o Point.o Process.o Random.o Range.o Rectangle.o Regex.o Scheduler.o Semaphore.o SeqCltn.o Set.o SharedQueue.o SortedCltn.o Stack.o StackProc.o String.o Time.o _main.o nihclerrs.o
  62.  
  63. GENERICS = Arraychar.h Arraychar.c
  64.  
  65. .SUFFIXES: ..c .s
  66. .c.o:
  67.     ${CC} ${CFLAGS} -c $<
  68. .c..c:
  69.     ${CC} ${CFLAGS} +i -c $<
  70. .c.s:
  71.     ${CC} ${CFLAGS} +i -S $<
  72.  
  73. .PRECIOUS: ${NIHCLLIB}
  74.  
  75. all: always nihclerrsx.h regex.o ${NIHCLLIB}
  76.  
  77. always:
  78.     ${MAKE} generic _main.c
  79.  
  80. nihclerrsx.h: nihclerrs.err
  81.     -if test -f /usr/bin/errcom ; then errcom nihclerrs.err ; else ${ERRGENDIR}/errgen -R${ERRTABDIR} nihclerrs.err; fi
  82.     sed -f nihclerrs.sed <nihclerrs.c >nihclerrs.tmp
  83.     mv nihclerrs.tmp nihclerrs.c
  84.     sed -n -e "s/^\([A-Z][a-zA-Z]*\).*/int NIHCL_\1    = NIHCL__\1;/p" <nihclerrs.err >nihclerrsx.h
  85.  
  86. generic: ${GENERICS}
  87.  
  88. _main.c:
  89.     -rm -f targetlist *.o _main.c
  90.     ln ${LNFLAGS} ${MAIN} _main.c
  91.  
  92. Arraychar.h: Array_h.m4
  93.     echo "ARRAYDECLARE(Arraychar,char)" | m4 Array_h.m4 - >Arraychar.h
  94.  
  95. Arraychar.c: Array_c.m4 Arraychar.p
  96.     m4 Array_c.m4 Arraychar.p >Arraychar.c
  97.  
  98. regex.o: regex/regex.c regex.h
  99. #    cc -O -I. -D'SIGN_EXTEND_CHAR(c)=(((c) & 0x80) ? ((c) | 0xffffff80) : (c))' -c regex/regex.c
  100.     cc -O -I. -c regex/regex.c
  101.  
  102. # Hack to make stdarg work on sparc
  103.  
  104. Class.o ${NIHCLLIB}(Class.o): Class.c
  105. #    ${CC} ${CFLAGS} -F -c Class.c | sed -e 's/__0__builtin/__builtin/g' >Class..c
  106.     ${CC} ${MI} ${CCFLAGS} ${NESTED_TYPES} ${BUGDEFS} ${DEBUGDEFS} -F -c Class.c | sed -e 's/__0__builtin/__builtin/g' >Class..c
  107.     cc ${CCDEBUG} -c -o Class.o Class..c
  108.     rm Class..c
  109.  
  110. Exception.o ${NIHCLLIB}(Exception.o): Exception.c
  111. #    ${CC} ${CFLAGS} -F -c Exception.c | sed -e 's/__0__builtin/__builtin/g' >Exception..c
  112.     ${CC} ${MI} ${CCFLAGS} ${NESTED_TYPES} ${BUGDEFS} ${DEBUGDEFS} -F -c Exception.c | sed -e 's/__0__builtin/__builtin/g' >Exception..c
  113.     cc ${CCDEBUG} -c -o Exception.o Exception..c
  114.     rm Exception..c
  115.  
  116.  
  117. ${NIHCLLIB}: ${OBJECTS}
  118.     ar rv $@ $?
  119.     if test ${SYS} = BSD ; then ranlib ${NIHCLLIB}; fi
  120.     rm *.o
  121.  
  122. install:
  123.     cp lib*.a ${NIHCLLIBDIR}
  124.     if test ${SYS} = BSD ; then \
  125.         for i in lib*.a; do (cd ${NIHCLLIBDIR}; ranlib -t $$i); done; \
  126.     fi
  127.     -mkdir ${NIHCLINCDIR}
  128.     -chmod u+w ${NIHCLINCDIR}/*.h ${NIHCLINCDIR}/Template_[ch]
  129.     -rm -f ${NIHCLINCDIR}/*.h ${NIHCLINCDIR}/Template_[ch]
  130.     cp *.h Template_[ch] ${NIHCLINCDIR}
  131.  
  132. clean:
  133.     -rm -f *.o *..c *.a nihclerrsx.h ${GENERICS} _main.c make.tdep*
  134.  
  135. # DO NOT DELETE THIS LINE -- make depend depends on it.
  136.  
  137. ArrayOb.o: ArrayOb.h
  138. ArrayOb.o: Collection.h Object.h
  139. ArrayOb.o: Iterator.h nihclIO.h OIO.h OIOfd.h
  140. Arraychar.o: Arraychar.h Collection.h Object.h
  141. Arraychar.o: Iterator.h
  142. Arraychar.o: nihclconfig.h
  143. Arraychar.o: nihclIO.h
  144. Arraychar.o: OIO.h OIOfd.h
  145. Assoc.o: Assoc.h LookupKey.h Object.h
  146. Assoc.o: nihclIO.h OIO.h
  147. Assoc.o: OIOfd.h
  148. AssocInt.o: AssocInt.h LookupKey.h Object.h
  149. AssocInt.o: Integer.h
  150. AssocInt.o: nihclIO.h OIO.h OIOfd.h
  151. Bag.o: Bag.h Collection.h Object.h
  152. Bag.o: Iterator.h
  153. Bag.o: Dictionary.h Set.h ArrayOb.h AssocInt.h LookupKey.h Integer.h
  154. Bag.o: nihclIO.h OIO.h OIOfd.h
  155. BitBoard.o: BitBoard.h Object.h
  156. BitBoard.o: nihclIO.h
  157. BitBoard.o: OIO.h OIOfd.h
  158. Bitset.o: Bitset.h Object.h
  159. Bitset.o: nihclIO.h OIO.h OIOfd.h
  160. Class.o: Object.h
  161. Class.o: String.h
  162. Class.o: Dictionary.h
  163. Class.o: Set.h Collection.h Iterator.h ArrayOb.h Assoc.h LookupKey.h
  164. Class.o: OrderedCltn.h SeqCltn.h IdentSet.h nihclIO.h OIO.h OIOfd.h
  165. Class.o: OIOTbl.h IdentDict.h
  166. Collection.o: Collection.h Object.h
  167. Collection.o: Iterator.h
  168. Collection.o: ArrayOb.h nihclIO.h OIO.h OIOfd.h
  169. Date.o: Date.h Object.h
  170. Date.o: String.h
  171. Date.o: nihclIO.h OIO.h OIOfd.h
  172. Dictionary.o: Dictionary.h Set.h Collection.h Object.h
  173. Dictionary.o: Iterator.h ArrayOb.h LookupKey.h
  174. Dictionary.o: Assoc.h
  175. Exception.o: ExceptAct.h Exception.h Object.h
  176. Exception.o: nihclerrs.h
  177. Exception.o: nihclconfig.h
  178. Exception.o: nihclerrsx.h
  179. FDSet.o: FDSet.h Object.h
  180. FDSet.o: nihclIO.h OIO.h OIOfd.h
  181. FDSet.o: nihclconfig.h
  182. Float.o: Float.h Object.h
  183. Float.o: nihclIO.h OIO.h OIOfd.h
  184. Fraction.o: Fraction.h Object.h
  185. Fraction.o: nihclIO.h OIO.h OIOfd.h
  186. Heap.o: Heap.h Collection.h
  187. Heap.o: Object.h
  188. Heap.o: Iterator.h OrderedCltn.h SeqCltn.h ArrayOb.h
  189. Heap.o: nihclIO.h OIO.h OIOfd.h
  190. HeapProc.o: HeapProc.h Process.h Link.h Object.h
  191. HeapProc.o: String.h
  192. HeapProc.o: nihclconfig.h
  193. HeapProc.o: Scheduler.h LinkedList.h SeqCltn.h
  194. HeapProc.o: Collection.h Iterator.h StackProc.h nihclIO.h OIO.h OIOfd.h
  195. IdentDict.o: IdentDict.h Dictionary.h Set.h Collection.h Object.h
  196. IdentDict.o: Iterator.h ArrayOb.h LookupKey.h
  197. IdentSet.o: IdentSet.h Set.h Collection.h Object.h
  198. IdentSet.o: Iterator.h
  199. IdentSet.o: ArrayOb.h
  200. Integer.o: Integer.h Object.h
  201. Integer.o: nihclIO.h
  202. Integer.o: OIO.h OIOfd.h
  203. Iterator.o: Iterator.h Object.h
  204. Iterator.o: Collection.h
  205. Iterator.o: SeqCltn.h nihclIO.h OIO.h OIOfd.h
  206. KeySortCltn.o: nihclIO.h OIO.h Object.h
  207. KeySortCltn.o: OIOfd.h
  208. KeySortCltn.o: Assoc.h LookupKey.h KeySortCltn.h SortedCltn.h OrderedCltn.h
  209. KeySortCltn.o: SeqCltn.h Collection.h Iterator.h ArrayOb.h Range.h
  210. Link.o: Link.h Object.h
  211. Link.o: LinkOb.h
  212. LinkOb.o: LinkOb.h Link.h Object.h
  213. LinkOb.o: nihclIO.h
  214. LinkOb.o: OIO.h OIOfd.h
  215. LinkedList.o: LinkedList.h SeqCltn.h Collection.h Object.h
  216. LinkedList.o: Iterator.h Link.h nihclIO.h OIO.h
  217. LinkedList.o: OIOfd.h
  218. LookupKey.o: LookupKey.h Object.h
  219. LookupKey.o: nihclIO.h
  220. LookupKey.o: OIO.h OIOfd.h
  221. Nil.o: Object.h
  222. OIOTbl.o: OIOTbl.h IdentDict.h Dictionary.h Set.h Collection.h Object.h
  223. OIOTbl.o: Iterator.h ArrayOb.h OrderedCltn.h
  224. OIOTbl.o: SeqCltn.h AssocInt.h LookupKey.h Integer.h
  225. OIOfd.o: OIOfd.h Object.h
  226. OIOfd.o: OIOTbl.h IdentDict.h Dictionary.h
  227. OIOfd.o: Set.h Collection.h Iterator.h ArrayOb.h OrderedCltn.h SeqCltn.h
  228. OIOnih.o: OIOnih.h OIOstream.h OIO.h Object.h
  229. OIOnih.o: OIOTbl.h
  230. OIOnih.o: IdentDict.h Dictionary.h Set.h Collection.h Iterator.h ArrayOb.h
  231. OIOnih.o: OrderedCltn.h SeqCltn.h
  232. OIOstream.o: OIOstream.h
  233. OIOstream.o: OIO.h Object.h
  234. OIOstream.o: OIOTbl.h IdentDict.h Dictionary.h Set.h
  235. OIOstream.o: Collection.h Iterator.h ArrayOb.h OrderedCltn.h SeqCltn.h
  236. Object.o: nihclconfig.h
  237. Object.o: nihclIO.h
  238. Object.o: OIO.h Object.h
  239. Object.o: OIOfd.h
  240. Object.o: OIOTbl.h IdentDict.h Dictionary.h
  241. Object.o: Set.h Collection.h Iterator.h ArrayOb.h OrderedCltn.h SeqCltn.h
  242. Object.o: LookupKey.h IdentSet.h String.h
  243. Object.o: Assoc.h AssocInt.h Integer.h
  244. OrderedCltn.o: OrderedCltn.h SeqCltn.h Collection.h
  245. OrderedCltn.o: Object.h
  246. OrderedCltn.o: Iterator.h ArrayOb.h nihclIO.h OIO.h
  247. OrderedCltn.o: OIOfd.h
  248. Point.o: Point.h Object.h
  249. Point.o: nihclIO.h OIO.h OIOfd.h
  250. Process.o: Process.h Link.h Object.h
  251. Process.o: String.h
  252. Process.o: nihclconfig.h
  253. Process.o: Scheduler.h
  254. Process.o: LinkedList.h SeqCltn.h Collection.h Iterator.h StackProc.h
  255. Process.o: ExceptAct.h Exception.h nihclerrs.h
  256. Random.o: Random.h Object.h
  257. Random.o: nihclIO.h OIO.h OIOfd.h
  258. Range.o: Range.h Object.h
  259. Range.o: nihclIO.h OIO.h OIOfd.h
  260. Rectangle.o: Rectangle.h Object.h
  261. Rectangle.o: Point.h
  262. Rectangle.o: nihclIO.h OIO.h OIOfd.h
  263. Regex.o: Regex.h String.h Object.h
  264. Regex.o: Range.h regex.h
  265. Regex.o: nihclIO.h OIO.h OIOfd.h
  266. Scheduler.o: Process.h Link.h Object.h
  267. Scheduler.o: String.h
  268. Scheduler.o: nihclconfig.h
  269. Scheduler.o: Scheduler.h LinkedList.h SeqCltn.h
  270. Scheduler.o: Collection.h Iterator.h StackProc.h
  271. Semaphore.o: Semaphore.h Object.h
  272. Semaphore.o: LinkedList.h SeqCltn.h Collection.h Iterator.h Link.h Process.h
  273. Semaphore.o: String.h
  274. Semaphore.o: nihclconfig.h
  275. Semaphore.o: Scheduler.h StackProc.h nihclIO.h
  276. Semaphore.o: OIO.h OIOfd.h
  277. SeqCltn.o: SeqCltn.h Collection.h Object.h
  278. SeqCltn.o: Iterator.h
  279. Set.o: Set.h Collection.h Object.h
  280. Set.o: Iterator.h
  281. Set.o: ArrayOb.h OrderedCltn.h SeqCltn.h nihclIO.h OIO.h OIOfd.h
  282. SharedQueue.o: SharedQueue.h ArrayOb.h Collection.h Object.h
  283. SharedQueue.o: Iterator.h Semaphore.h LinkedList.h
  284. SharedQueue.o: SeqCltn.h Link.h nihclIO.h OIO.h OIOfd.h
  285. SortedCltn.o: SortedCltn.h OrderedCltn.h SeqCltn.h Collection.h Object.h
  286. SortedCltn.o: Iterator.h ArrayOb.h Range.h nihclIO.h
  287. SortedCltn.o: OIO.h OIOfd.h
  288. Stack.o: Stack.h OrderedCltn.h SeqCltn.h Collection.h Object.h
  289. Stack.o: Iterator.h ArrayOb.h nihclIO.h OIO.h
  290. Stack.o: OIOfd.h
  291. StackProc.o: StackProc.h
  292. StackProc.o: Process.h Link.h Object.h
  293. StackProc.o: String.h
  294. StackProc.o: nihclconfig.h
  295. StackProc.o: Scheduler.h LinkedList.h SeqCltn.h
  296. StackProc.o: Collection.h Iterator.h nihclIO.h OIO.h OIOfd.h
  297. String.o: String.h Object.h
  298. String.o: Range.h nihclconfig.h
  299. String.o: nihclIO.h
  300. String.o: OIO.h OIOfd.h
  301. Time.o: Date.h Object.h
  302. Time.o: Time.h nihclconfig.h
  303. Time.o: nihclIO.h OIO.h
  304. Time.o: OIOfd.h
  305. _main.o: Object.h
  306. nihclerrs.o: nihclerrs.h
  307.