home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / mm / ccmd / makefile.dos < prev    next >
Encoding:
Makefile  |  1990-12-18  |  7.2 KB  |  326 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. CFLAGS=
  11. MACHINE=MSDOS
  12. #LOCAL=/usr/include/local
  13. LOCAL=\msc\include\local
  14. LOCALINCLUDES= ${LOCAL}\ccmd.h ${LOCAL}\cmfnc.h ${LOCAL}\cmfncs.h ${LOCAL}\datime.h $(LOCAL)\ccmdmd.h $(LOCAL)\cmkeyval.h
  15. OBJS=ccmd.$(OBJ) ccmdut.$(OBJ) ccmdio.$(OBJ) ccmdmd.$(OBJ) ccmdst.$(OBJ)\
  16.     stdact.$(OBJ) cmcfm.$(OBJ) cmkey.$(OBJ) cmnum.$(OBJ) cmqst.$(OBJ)\
  17.     cmnoi.$(OBJ) cmtxt.$(OBJ) cmfld.$(OBJ) cmtok.$(OBJ) cmswi.$(OBJ)\
  18.     cmtad.$(OBJ) datime.$(OBJ) cmfil.$(OBJ) filelist.$(OBJ) wild.$(OBJ)\
  19.     dir.$(OBJ) cmusr.$(OBJ) cmgrp.$(OBJ) cmpara.$(OBJ) cmmisc.$(OBJ)\
  20.     cmver.$(OBJ) cmchar.$(OBJ)
  21. # termination char for cmds.   ";" for msc
  22. #CMDTERM=
  23. CMDTERM=;
  24.  
  25. # command to invoke C compiler
  26. #CC=cc $(CFLAGS) -D$(MACHINE) -c -O
  27. CC=msc $(CFLAGS)
  28. # CC=lc
  29.  
  30. # command to delete a file
  31. #RM=rm
  32. RM=erase
  33.  
  34. # command to invoke the linker
  35. #LINK=cc $(CFLAGS) -o $@ $@.${OBJ} -lccmd -ltermlib $(CMDTERM) 
  36. LINK=link $*.${OBJ},$@,,$(LIBNAME)  $(CMDTERM)
  37.  
  38. # command to copy a file
  39. #COPY=cp
  40. COPY=copy
  41.  
  42. # name of library to create
  43. #LIBNAME=ccmd-noran.a
  44. LIBNAME=ccmd.lib
  45.  
  46. # command to add an object file to a library
  47. #LIBADD=ar r $(LIBNAME) $?
  48. LIBADD=lib $(LIBNAME)+$<-$<
  49.  
  50. # command to reorder the library
  51. #RANLIB=ranlib
  52. RANLIB=rem
  53.  
  54. # special file extension for this OS
  55. #EXT=unx
  56. EXT=DOS
  57.  
  58. # extention for EXE files.
  59. #EXE=
  60. EXE=.exe
  61.  
  62. # extension for OBJ files
  63. #OBJ=o
  64. OBJ=obj
  65.  
  66. #SPLITDIR=./
  67. SPLITDIR=
  68. all: test$(EXE)
  69.  
  70. ccmd: $(LOCALINCLUDES) ccmd.a 
  71.  
  72. split$(EXE): split.c
  73.     $(CC) split.c $(CMDTERM)
  74. #    cc -o split split.o
  75.     link split;
  76.  
  77. cmkeyval$(EXE): cmkeyval.c
  78.     $(CC) cmkeyval.c $(CMDTERM)
  79. #    cc -o cmkeyval cmkeyval.o
  80.     link cmkeyval;
  81.  
  82. cmkeyval.h: cmkeyval$(EXE)
  83.     cmkeyval > cmkeyval.h
  84.  
  85.  
  86. cmfnc.h: cmfnc.h4 cmconf.h4 cmcfm.cnf cmkey.cnf cmnum.cnf cmfld.cnf \
  87.      cmqst.cnf cmtxt.cnf cmswi.cnf cmtad.cnf cmtok.cnf cmnoi.cnf \
  88.      cmgnrc.cnf cmfil.cnf cmusr.cnf cmgrp.cnf cmpara.cnf split$(EXE) \
  89.      cmfnc.top cmfncs.top cmchar.cnf cmkeyval.h
  90.     m4 cmfnc.h4 > cmfnc.tmp
  91.     $(SPLITDIR)split < cmfnc.tmp
  92.     $(RM) cmfnc.tmp
  93.  
  94. cmfncs.h: cmfnc.h4 cmconf.h4 cmcfm.cnf cmkey.cnf cmnum.cnf cmfld.cnf \
  95.       cmqst.cnf cmtxt.cnf cmswi.cnf cmtad.cnf cmtok.cnf cmnoi.cnf \
  96.        cmgnrc.cnf cmfil.cnf cmusr.cnf cmgrp.cnf cmpara.cnf split$(EXE) \
  97.       cmfnc.top cmfncs.top cmchar.cnf cmkeyval.h
  98.     m4 cmfnc.h4 > cmfnc.tmp
  99.     $(SPLITDIR)split < cmfnc.tmp
  100.     $(RM) cmfnc.tmp
  101.  
  102. ccmd.$(OBJ): ccmd.c ccmd.h ccmdmd.h cmfnc.h cmfncs.h
  103.     $(CC) ccmd.c $(CMDTERM)
  104.  
  105. ccmdut.$(OBJ): ccmdut.c ccmd.h ccmdmd.h cmfnc.h cmfncs.h
  106.     $(CC) ccmdut.c $(CMDTERM)
  107.  
  108. ccmdio.$(OBJ): ccmdio.c ccmd.h ccmdmd.h cmfnc.h cmfncs.h
  109.     $(CC) ccmdio.c $(CMDTERM)
  110.  
  111. ccmdmd.c: ccmdmd.$(EXT)
  112.     $(COPY) ccmdmd.$(EXT) ccmdmd.c
  113.  
  114. ccmdmd.$(EXT):
  115.  
  116. ccmdmd.$(OBJ): ccmdmd.c ccmd.h ccmdmd.h cmfnc.h cmfncs.h
  117.     $(CC) ccmdmd.c $(CMDTERM)
  118.  
  119. ccmdst.$(OBJ): ccmdst.c ccmd.h ccmdmd.h cmfnc.h cmfnc.h cmfncs.h
  120.     $(CC) ccmdst.c $(CMDTERM)
  121.  
  122. stdact.$(OBJ): stdact.c ccmd.h ccmdmd.h cmfnc.h cmfncs.h
  123.     $(CC) stdact.c $(CMDTERM)
  124.  
  125. cmcfm.$(OBJ): cmcfm.c ccmd.h ccmdmd.h cmfnc.h cmfncs.h
  126.     $(CC) cmcfm.c $(CMDTERM)
  127.  
  128. cmkey.$(OBJ): cmkey.c ccmd.h ccmdmd.h cmfnc.h cmfncs.h
  129.     $(CC) cmkey.c $(CMDTERM)
  130.  
  131. cmnum.$(OBJ): cmnum.c ccmd.h ccmdmd.h cmfnc.h cmfncs.h
  132.     $(CC) cmnum.c $(CMDTERM)
  133.  
  134. cmqst.$(OBJ): cmqst.c ccmd.h ccmdmd.h cmfnc.h cmfncs.h
  135.     $(CC) cmqst.c $(CMDTERM)
  136.  
  137. cmnoi.$(OBJ): cmnoi.c ccmd.h ccmdmd.h cmfnc.h cmfncs.h
  138.     $(CC) cmnoi.c $(CMDTERM)
  139.  
  140. cmtxt.$(OBJ): cmtxt.c ccmd.h ccmdmd.h cmfnc.h cmfncs.h
  141.     $(CC) cmtxt.c $(CMDTERM)
  142.  
  143. cmfld.$(OBJ): cmfld.c ccmd.h ccmdmd.h cmfnc.h cmfncs.h
  144.     $(CC) cmfld.c $(CMDTERM)
  145.  
  146. cmtok.$(OBJ): cmtok.c ccmd.h ccmdmd.h cmfnc.h cmfncs.h
  147.     $(CC) cmtok.c $(CMDTERM)
  148.  
  149. cmswi.$(OBJ): cmswi.c ccmd.h ccmdmd.h cmfnc.h cmfncs.h
  150.     $(CC) cmswi.c $(CMDTERM)
  151.  
  152. cmtad.$(OBJ): cmtad.c ccmd.h ccmdmd.h datime.h cmfnc.h cmfncs.h
  153.     $(CC) cmtad.c $(CMDTERM)
  154.  
  155. datime.$(OBJ): datime.c datime.h tzone.h dtpat.h
  156.     $(CC) datime.c $(CMDTERM)
  157.  
  158. cmfil.$(OBJ): cmfil.c ccmd.h ccmdmd.h cmfil.h cmfnc.h cmfncs.h cmfbrk.$(EXT) \
  159.           filelist.h
  160.     $(CC) cmfil.c $(CMDTERM)
  161.  
  162. cmfbrk.$(EXT):
  163.  
  164. filelist.$(OBJ): filelist.c ccmd.h ccmdmd.h cmfnc.h cmfncs.h
  165.     $(CC) filelist.c $(CMDTERM)
  166.  
  167. wild.$(OBJ): wild.c
  168.     $(CC) wild.c $(CMDTERM)
  169.  
  170. cmfbrk.$(EXT):
  171.  
  172. cmusr.$(OBJ): cmusr.c ccmd.h ccmdmd.h cmfnc.h cmfncs.h cmusr.h
  173.     $(CC) cmusr.c $(CMDTERM)
  174.  
  175. cmgrp.$(OBJ): cmgrp.c ccmd.h ccmdmd.h cmfnc.h cmfncs.h cmgrp.h
  176.     $(CC) cmgrp.c $(CMDTERM)
  177.  
  178. cmpara.$(OBJ): cmpara.c ccmd.h ccmdmd.h cmfnc.h cmfncs.h
  179.     $(CC) cmpara.c $(CMDTERM)
  180.  
  181. cmmisc.$(OBJ): cmmisc.c ccmd.h ccmdmd.h cmfnc.h 
  182.     $(CC) cmmisc.c $(CMDTERM)
  183.  
  184. cmver.$(OBJ): cmver.c cmver.h
  185.     $(CC) cmver.c $(CMDTERM)
  186.  
  187. cmchar.$(OBJ): cmchar.c
  188.     $(CC) cmchar.c $(CMDTERM)
  189.  
  190. $(LIBNAME):: ccmd.$(OBJ)
  191.     $(LIBADD) $(CMDTERM)
  192.  
  193. $(LIBNAME):: ccmdut.$(OBJ)
  194.     $(LIBADD) $(CMDTERM)
  195.  
  196. $(LIBNAME):: ccmdio.$(OBJ)
  197.     $(LIBADD) $(CMDTERM)
  198.  
  199. $(LIBNAME):: ccmdmd.$(OBJ)
  200.     $(LIBADD) $(CMDTERM)
  201.  
  202. $(LIBNAME):: ccmdst.$(OBJ)
  203.     $(LIBADD) $(CMDTERM)
  204.  
  205. $(LIBNAME):: stdact.$(OBJ)
  206.     $(LIBADD) $(CMDTERM)
  207.  
  208. $(LIBNAME):: cmcfm.$(OBJ)
  209.     $(LIBADD) $(CMDTERM)
  210.  
  211. $(LIBNAME):: cmkey.$(OBJ)
  212.     $(LIBADD) $(CMDTERM)
  213.  
  214. $(LIBNAME):: cmnum.$(OBJ)
  215.     $(LIBADD) $(CMDTERM)
  216.  
  217. $(LIBNAME):: cmqst.$(OBJ)
  218.     $(LIBADD) $(CMDTERM)
  219.  
  220. $(LIBNAME):: cmnoi.$(OBJ)
  221.     $(LIBADD) $(CMDTERM)
  222.  
  223. $(LIBNAME):: cmtxt.$(OBJ)
  224.     $(LIBADD) $(CMDTERM)
  225.  
  226. $(LIBNAME):: cmfld.$(OBJ)
  227.     $(LIBADD) $(CMDTERM)
  228.  
  229. $(LIBNAME):: cmtok.$(OBJ)
  230.     $(LIBADD) $(CMDTERM)
  231.  
  232. $(LIBNAME):: cmswi.$(OBJ)
  233.     $(LIBADD) $(CMDTERM)
  234.  
  235. $(LIBNAME):: cmtad.$(OBJ)
  236.     $(LIBADD) $(CMDTERM)
  237.  
  238. $(LIBNAME):: datime.$(OBJ)
  239.     $(LIBADD) $(CMDTERM)
  240.  
  241. $(LIBNAME):: cmfil.$(OBJ)
  242.     $(LIBADD) $(CMDTERM)
  243. $(LIBNAME):: filelist.$(OBJ)
  244.     $(LIBADD)  $(CMDTERM)
  245.  
  246. $(LIBNAME):: wild.$(OBJ)
  247.     $(LIBADD) $(CMDTERM)
  248.  
  249. #only for msdos
  250. dir.${OBJ}: dir.c
  251.     $(CC) dir.c $(CMDTERM)
  252.  
  253. $(LIBNAME):: dir.$(OBJ)
  254.     $(LIBADD) $(CMDTERM)
  255. #end msdos only
  256.  
  257. $(LIBNAME):: cmusr.$(OBJ)
  258.     $(LIBADD) $(CMDTERM)
  259.  
  260. $(LIBNAME):: cmgrp.$(OBJ)
  261.     $(LIBADD) $(CMDTERM)
  262.  
  263. $(LIBNAME):: cmpara.$(OBJ)
  264.     $(LIBADD) $(CMDTERM)
  265.  
  266. $(LIBNAME):: cmmisc.$(OBJ)
  267.     $(LIBADD) $(CMDTERM)
  268.  
  269. $(LIBNAME):: cmver.$(OBJ)
  270.     $(LIBADD) $(CMDTERM)
  271.  
  272. $(LIBNAME):: cmchar.$(OBJ)
  273.     $(LIBADD) $(CMDTERM)
  274.  
  275. ccmd.a:    $(LIBNAME)
  276.     $(COPY) $(LIBNAME) ccmd.a
  277.     $(RANLIB) ccmd.a
  278.  
  279. $(LOCAL)\cmkeyval.h: cmkeyval.h
  280.     $(COPY) cmkeyval.h $(LOCAL)
  281.  
  282. $(LOCAL)\ccmd.h: ccmd.h
  283.     $(COPY) ccmd.h $(LOCAL)
  284.  
  285. $(LOCAL)\ccmdmd.h: ccmdmd.h
  286.     $(COPY) ccmdmd.h $(LOCAL)
  287.  
  288. $(LOCAL)\cmfnc.h: cmfnc.h
  289.     $(COPY) cmfnc.h $(LOCAL)
  290.  
  291. $(LOCAL)\cmfncs.h: cmfncs.h
  292.     $(COPY) cmfncs.h $(LOCAL)
  293.  
  294. $(LOCAL)\datime.h: datime.h
  295.     $(COPY) datime.h $(LOCAL)
  296.  
  297. newversion: 
  298. #    co -l cmver.h
  299. #    incversion < cmver.h > cmver.h.new
  300. #    ci -u cmver.h
  301. #    @mv cmver.h cmver.h.old
  302. #    @mv cmver.h.new cmver.h
  303. #    @make ccmd.a
  304.  
  305. install: $(LOCALINCLUDES) ccmd.a
  306. #    $(COPY) ccmd.a \usr\local\lib\libccmd.a
  307.     $(RANLIB) \usr\local\lib\libccmd.a
  308.  
  309. \usr\local\lib\libccmd.a: $(LOCALINCLUDES) ccmd.a
  310.     make install
  311.     
  312.  
  313. test.$(OBJ): test.c ccmd.h ccmdmd.h cmfnc.h datime.h
  314.     $(CC) test.c $(CMDTERM)
  315.  
  316. test$(EXE): $(LOCALINCLUDES) test.$(OBJ)  ccmd.lib
  317. #test$(EXE): $(LOCALINCLUDES) test.$(OBJ) ccmd.a
  318.     link test.obj $(OBJS) /m/co;
  319.  
  320. skel.$(OBJ): skel.c ccmd.h ccmdmd.h cmfnc.h 
  321.     $(CC) skel.c $(CMDTERM)
  322.  
  323. skel$(EXE): skel.$(OBJ) ccmd.lib
  324.     $(LINK)
  325.  
  326.