home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / mm / ccmd / makefile.sysv < prev    next >
Encoding:
Makefile  |  1990-12-18  |  3.4 KB  |  149 lines

  1. #
  2. # Copyright (c) 1986, 1990 by The Trustees of Columbia University in
  3. # the City of New York.  Permission is granted to any individual or
  4. # institution to use, copy, or redistribute this software so long as it
  5. # is not sold for profit, provided this copyright notice is retained.
  6. #
  7. # Author: Howie Kaye
  8.  
  9. .SUFFIXES: .c .o .obj .exe .a .lib .h .h4 .tmp
  10.  
  11. LOCAL=./local
  12. MACHINE=SYSV
  13. CFLAGS= -O -I. -I$(LOCAL) -D$(MACHINE)
  14.  
  15. LIBNAME=ccmd-noran.a
  16.  
  17. INCLUDES=ccmd.h cmfnc.h cmfncs.h datime.h ccmdmd.h cmkeyval.h
  18. LOCALINCLUDES= ${LOCAL}/ccmd.h ${LOCAL}/cmfnc.h ${LOCAL}/cmfncs.h ${LOCAL}/datime.h $(LOCAL)/ccmdmd.h $(LOCAL)/cmkeyval.h
  19.  
  20. OBJ=.o
  21. EXE=
  22.  
  23. COBJS=ccmd$(OBJ) ccmdut$(OBJ) ccmdio$(OBJ) ccmdmd$(OBJ) ccmdst$(OBJ) \
  24.     stdact$(OBJ) cmcfm$(OBJ) cmkey$(OBJ) cmnum$(OBJ) cmqst$(OBJ) \
  25.     cmnoi$(OBJ) cmtxt$(OBJ) cmfld$(OBJ) cmtok$(OBJ) cmswi$(OBJ) \
  26.     cmpara$(OBJ) cmtad$(OBJ) cmmisc$(OBJ)
  27.  
  28. OBJS=ccmd$(OBJ) ccmdut$(OBJ) ccmdio$(OBJ) ccmdmd$(OBJ) ccmdst$(OBJ) \
  29.     stdact$(OBJ) cmcfm$(OBJ) cmkey$(OBJ) cmnum$(OBJ) cmqst$(OBJ) \
  30.     cmnoi$(OBJ) cmtxt$(OBJ) cmfld$(OBJ) cmtok$(OBJ) cmswi$(OBJ) \
  31.     cmpara$(OBJ) cmtad$(OBJ) cmmisc$(OBJ) cmusr$(OBJ) datime$(OBJ) \
  32.     cmfil$(OBJ) filelist$(OBJ) wild$(OBJ) cmchar$(OBJ) cmgrp$(OBJ) \
  33.     cmver$(OBJ) 
  34.  
  35. LIBS=ccmd.a -lcurses
  36. #LIBS=-lccmd -ltermlib
  37.  
  38. RM=rm
  39. LINK=cc $(CFLAGS) -o $@ $@${OBJ} $(LIBS)
  40. COPY=cp
  41. CHMOD=chmod u+w
  42. LIBADD=ar r $(LIBNAME) $?
  43. RANLIB=ar cr $@ `lorder $(OBJS) | tsort`
  44. EXT=unx
  45. SPLIT=./split$(EXE)
  46. MKDIR=mkdir
  47. RENAME=mv
  48. MAKE=make
  49.  
  50. all: test$(EXE) skel$(EXE)
  51.  
  52. ccmd: ccmd.a
  53.  
  54. split$(EXE): split$(OBJ)
  55.     $(CC) -o split split$(OBJ)
  56.  
  57. cmkeyval: cmkeyval$(OBJ)
  58.     $(CC) -o cmkeyval cmkeyval$(OBJ)
  59.  
  60. cmkeyval.h: cmkeyval
  61.     ./cmkeyval > cmkeyval.h
  62.  
  63. cmfnc.h: cmfnc.h4 cmconf.h4 cmcfm.cnf cmkey.cnf cmnum.cnf cmfld.cnf \
  64.      cmqst.cnf cmtxt.cnf cmswi.cnf cmtad.cnf cmtok.cnf cmnoi.cnf \
  65.      cmgnrc.cnf cmfil.cnf cmusr.cnf cmgrp.cnf cmpara.cnf split$(EXE) \
  66.      cmfnc.top cmfncs.top cmchar.cnf cmkeyval.h
  67.     m4 cmfnc.h4 > cmfnc.tmp
  68.     $(SPLIT) < cmfnc.tmp
  69.     $(RM) cmfnc.tmp
  70.  
  71. cmfncs.h: cmfnc.h
  72.  
  73. $(LOCAL): $(INCLUDES)
  74.     -$(MKDIR) $(LOCAL)
  75.  
  76. $(LOCALINCLUDES): $(INCLUDES)
  77.     -$(MKDIR) $(LOCAL)
  78.     -$(COPY) $(INCLUDES) $(LOCAL)
  79.     -$(CHMOD) $(LOCALINCLUDES)
  80. ccmdmd.c: ccmdmd.$(EXT)
  81.     -$(COPY) ccmdmd.$(EXT) ccmdmd.c
  82.  
  83. $(COBJS): $(LOCALINCLUDES)
  84.  
  85. cmusr$(OBJ): cmusr.c $(LOCALINCLUDES) cmusr.h
  86.  
  87. datime$(OBJ): datime.c datime.h tzone.h dtpat.h
  88.  
  89. cmfil$(OBJ): cmfil.c $(LOCALINCLUDES) cmfbrk.$(EXT) filelist.h cmfil.h 
  90.  
  91. filelist$(OBJ): filelist.c $(LOCALINCLUDES) filelist.h
  92.  
  93. wild$(OBJ): wild.c
  94.  
  95. cmchar$(OBJ): cmchar.c
  96.  
  97. cmgrp$(OBJ): cmgrp.c $(LOCALINCLUDES) cmgrp.h
  98.  
  99. cmver$(OBJ): cmver.c cmver.h
  100.  
  101. $(LIBNAME): $(OBJS)
  102.     $(LIBADD)
  103.  
  104. #only for msdos
  105. # dir.${OBJ}: dir.c
  106. #    $(CC) dir.c 
  107. #
  108. # $(LIBNAME):: dir$(OBJ)
  109. #    $(LIBADD) 
  110. #end msdos only
  111.  
  112. ccmd.a:    $(LIBNAME)
  113.     $(COPY) $(LIBNAME) ccmd.a
  114.     $(RANLIB) 
  115.  
  116. ask$(EXE): ask.$(OBJ)
  117.     cc -o ask ask.$(OBJ)
  118.  
  119. newversion1: ask
  120.     @echo 'Answer no unless you wish to update version info.'
  121.     -@if ( ask 'make a new version? ') then make newversion1 ; fi
  122.  
  123. newversion:
  124.     co -l cmver.h
  125.     incversion$(EXE) < cmver.h > cmver.h.new
  126.     $(RENAME) cmver.h cmver.h.old
  127.     $(RENAME) cmver.h.new cmver.h
  128.     ci -u cmver.h
  129.     $(MAKE) ccmd.a
  130.  
  131. #install: $(LOCALINCLUDES) ccmd.a newversion1
  132. install: $(LOCALINCLUDES) ccmd.a
  133.     $(COPY) ccmd.a /usr/local/lib/libccmd.a
  134.     $(RANLIB) /usr/local/lib/libccmd.a
  135.  
  136. /usr/local/lib/libccmd.a: $(LOCALINCLUDES) ccmd.a
  137.     $(MAKE) install
  138.  
  139. test$(OBJ): test.c $(LOCALINCLUDES)
  140.  
  141. test$(EXE): test$(OBJ) ccmd.a
  142.     $(LINK)
  143.  
  144. skel$(OBJ): skel.c $(LOCALINCLUDES)
  145.  
  146. skel$(EXE): skel$(OBJ) ccmd.a
  147.     $(LINK)
  148.  
  149.