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