home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / pine / ccmd / makefile.dos < prev    next >
Encoding:
Makefile  |  1988-08-19  |  7.2 KB  |  328 lines

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