home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / cprog / cursesp.zip / MAKEFILE < prev    next >
Text File  |  1991-12-03  |  12KB  |  310 lines

  1. #################################################################
  2. #               PCCURSES                                        #
  3. # Makefile to generate scurses.lib, ccurses.lib, mcurses.lib,   #
  4. # lcurses.lib and hcurses.lib for BorlandC++/TurboC++.          #
  5. #                                                               #
  6. # This makefile will generate subdirectories and call itself    #
  7. # recursively...                                                #
  8. #################################################################
  9. # 1.3:    Release:                    881005                    #
  10. #################################################################
  11.  
  12. # The following are the directories where your lib and include files
  13. # will be installed. These need to be edited for your system.
  14.  
  15. CC          = bcc
  16. LIBDIR      = ..
  17.  
  18. # General definitions:
  19.  
  20. CFLAGS      = -I..    -m$(MODEL) -c -O -Z -w -a- -f- -G -r -d
  21.  
  22. COBJS=  attrib.obj   beep.obj     border.obj   boxes.obj     \
  23.         charadd.obj  chardel.obj  charget.obj  charins.obj   \
  24.         charpick.obj clrtobot.obj clrtoeol.obj endwin.obj    \
  25.         initscr.obj  linedel.obj  lineins.obj  longname.obj  \
  26.         move.obj     mvcursor.obj newwin.obj   options.obj   \
  27.         overlay.obj  prntscan.obj refresh.obj  scrreg.obj    \
  28.         setmode.obj  setterm.obj  stradd.obj   strget.obj    \
  29.         tabsize.obj  termmisc.obj unctrl.obj   update.obj    \
  30.         winclear.obj windel.obj   winerase.obj winmove.obj   \
  31.         winscrol.obj wintouch.obj
  32.  
  33. ASMOBJS=    cursesio.obj
  34.  
  35. OBJS=        $(COBJS) $(ASMOBJS)
  36.  
  37. CHMOD=        attrib
  38.  
  39. #################################################################
  40. # 'all' is all that can (and usually is) done                   #
  41. #################################################################
  42.  
  43. all:    huge large medium compact small demo.exe demo-pp.exe
  44.  
  45. #   Compile the demo program
  46. demo.exe:   demo.obj 
  47.         tlink  c0m demo,demo,demo, cm .\mcurses /c
  48. demo-pp.exe:    demo-pp.obj
  49.         tlink  c0m demo-pp,demo-pp,demo-pp, cm .\mcurses /c
  50.  
  51. demo.obj:   demo.c curses.h makefile
  52.         $(CC) -c -v -mm  demo.c
  53.  
  54. demo-pp.obj:   demo-pp.cpp curses.h makefile
  55.         $(CC) -c -v -mm  demo-pp.cpp
  56.  
  57. #################################################################
  58. # The following will create a subdirectory for each memory      #
  59. # model, and initiate the make:ing in each one.                 #
  60. #################################################################
  61.  
  62. #################################################################
  63. # Create work directory if non-existent, go to it, and          #
  64. # perform the job - small model                                 #
  65. #################################################################
  66.  
  67. small:        smodel  smodel\farnear.inc smodel\smalhuge.inc
  68.         cd    smodel
  69.         make  -f..\makefile $(MAKEFLAGS) -DMODEL=s $(LIBDIR)\scurses.lib
  70.         cd ..
  71. smodel:
  72.         mkdir    smodel
  73.  
  74. #################################################################
  75. # Create work directory if non-existent, go to it, and          #
  76. # perform the job - compact model                               #
  77. #################################################################
  78.  
  79. compact:    cmodel   cmodel\farnear.inc cmodel\smalhuge.inc 
  80.         cd    cmodel
  81.         make  -f..\makefile $(MAKEFLAGS) -DMODEL=c $(LIBDIR)\ccurses.lib
  82.         cd ..
  83.  
  84. cmodel:
  85.         mkdir    cmodel
  86.  
  87. #################################################################
  88. # Create work directory if non-existent, go to it, and          #
  89. # perform the job - medium model                                #
  90. #################################################################
  91.  
  92. medium:        mmodel mmodel\farnear.inc mmodel\smalhuge.inc    
  93.         cd    mmodel
  94.         make  -f..\makefile $(MAKEFLAGS) -DMODEL=m $(LIBDIR)\mcurses.lib
  95.         cd ..
  96.  
  97. mmodel:
  98.         mkdir    mmodel
  99.  
  100. #################################################################
  101. # Create work directory if non-existent, go to it, and          #
  102. # perform the job - large model                                 #
  103. #################################################################
  104.  
  105. large:        lmodel lmodel\farnear.inc lmodel\smalhuge.inc
  106.         cd    lmodel
  107.         make  -f..\makefile $(MAKEFLAGS) -DMODEL=l $(LIBDIR)\lcurses.lib
  108.         cd ..
  109.  
  110. lmodel:
  111.         mkdir    lmodel
  112.  
  113. #################################################################
  114. # Create work directory if non-existent, go to it, and          #
  115. # perform the job - large model                                 #
  116. #################################################################
  117.  
  118. huge:         hmodel hmodel\farnear.inc hmodel\smalhuge.inc
  119.         cd    hmodel
  120.         make  -f..\makefile $(MAKEFLAGS) -DMODEL=h $(LIBDIR)\hcurses.lib
  121.         cd ..
  122.  
  123. hmodel: 
  124.         mkdir    hmodel
  125.  
  126. #################################################################
  127. # Put together the library in file tmp.lib, then copy it to     #
  128. # the appropriate name for the memory model in question, and    #
  129. # delete the temporary file                                     #
  130. #################################################################
  131.  
  132. $(LIBDIR)\$(MODEL)curses.lib:    $(OBJS)
  133.     del    tmp.lib
  134.     tlib /c tmp.lib @..\curses.cmd
  135.     copy   tmp.lib $(LIBDIR)\$(MODEL)curses.lib
  136.     del    tmp.lib
  137.  
  138. #################################################################
  139. # Commands and dependencies for individual modules              #     
  140. #################################################################
  141.  
  142. attrib.obj:    ..\attrib.c ..\curses.h ..\curspriv.h
  143.     $(CC) $(CFLAGS) -oattrib ..\attrib.c
  144.  
  145. beep.obj:    ..\beep.c ..\curses.h ..\curspriv.h
  146.     $(CC) $(CFLAGS) -obeep ..\beep.c
  147.  
  148. border.obj:    ..\border.c ..\curses.h ..\curspriv.h
  149.     $(CC) $(CFLAGS) -oborder ..\border.c
  150.  
  151. boxes.obj:    ..\boxes.c ..\curses.h ..\curspriv.h
  152.     $(CC) $(CFLAGS) -oboxes ..\boxes.c
  153.  
  154. charadd.obj:    ..\charadd.c ..\curses.h ..\curspriv.h
  155.     $(CC) $(CFLAGS) -ocharadd ..\charadd.c
  156.  
  157. chardel.obj:    ..\chardel.c ..\curses.h ..\curspriv.h
  158.     $(CC) $(CFLAGS) -ochardel ..\chardel.c
  159.  
  160. charget.obj:    ..\charget.c ..\curses.h ..\curspriv.h
  161.     $(CC) $(CFLAGS) -ocharget ..\charget.c
  162.  
  163. charins.obj:    ..\charins.c ..\curses.h ..\curspriv.h
  164.     $(CC) $(CFLAGS) -ocharins ..\charins.c
  165.  
  166. charpick.obj:    ..\charpick.c ..\curses.h ..\curspriv.h
  167.     $(CC) $(CFLAGS) -ocharpick ..\charpick.c
  168.  
  169. clrtobot.obj:    ..\clrtobot.c ..\curses.h ..\curspriv.h
  170.     $(CC) $(CFLAGS) -oclrtobot ..\clrtobot.c
  171.  
  172. clrtoeol.obj:    ..\clrtoeol.c ..\curses.h ..\curspriv.h
  173.     $(CC) $(CFLAGS) -oclrtoeol ..\clrtoeol.c
  174.  
  175. endwin.obj:    ..\endwin.c ..\curses.h ..\curspriv.h
  176.     $(CC) $(CFLAGS) -oendwin ..\endwin.c
  177.  
  178. initscr.obj:    ..\initscr.c ..\curses.h ..\curspriv.h
  179.     $(CC) $(CFLAGS) -oinitscr ..\initscr.c
  180.  
  181. linedel.obj:    ..\linedel.c ..\curses.h ..\curspriv.h
  182.     $(CC) $(CFLAGS) -olinedel ..\linedel.c
  183.  
  184. lineins.obj:    ..\lineins.c ..\curses.h ..\curspriv.h
  185.     $(CC) $(CFLAGS) -olineins ..\lineins.c
  186.  
  187. longname.obj:    ..\longname.c ..\curses.h ..\curspriv.h
  188.     $(CC) $(CFLAGS) -olongname ..\longname.c
  189.  
  190. move.obj:    ..\move.c ..\curses.h ..\curspriv.h
  191.     $(CC) $(CFLAGS) -omove ..\move.c
  192.  
  193. mvcursor.obj:    ..\mvcursor.c ..\curses.h ..\curspriv.h
  194.     $(CC) $(CFLAGS) -w-par -omvcursor ..\mvcursor.c
  195.  
  196. newwin.obj:    ..\newwin.c ..\curses.h ..\curspriv.h
  197.     $(CC) $(CFLAGS) -onewwin ..\newwin.c
  198.  
  199. options.obj:    ..\options.c ..\curses.h ..\curspriv.h
  200.     $(CC) $(CFLAGS) -ooptions ..\options.c
  201.  
  202. overlay.obj:    ..\overlay.c ..\curses.h ..\curspriv.h
  203.     $(CC) $(CFLAGS) -ooverlay ..\overlay.c
  204.  
  205. prntscan.obj:    ..\prntscan.c ..\curses.h ..\curspriv.h
  206.     $(CC) $(CFLAGS) -N -oprntscan ..\prntscan.c
  207.  
  208. refresh.obj:    ..\refresh.c ..\curses.h ..\curspriv.h
  209.     $(CC) $(CFLAGS) -orefresh ..\refresh.c
  210.  
  211. scrreg.obj:    ..\scrreg.c ..\curses.h ..\curspriv.h
  212.     $(CC) $(CFLAGS) -oscrreg ..\scrreg.c
  213.  
  214. setmode.obj:    ..\setmode.c ..\curses.h ..\curspriv.h
  215.     $(CC) $(CFLAGS) -osetmode ..\setmode.c
  216.  
  217. setterm.obj:    ..\setterm.c ..\curses.h ..\curspriv.h
  218.     $(CC) $(CFLAGS) -osetterm ..\setterm.c
  219.  
  220. stradd.obj:    ..\stradd.c ..\curses.h ..\curspriv.h
  221.     $(CC) $(CFLAGS) -ostradd ..\stradd.c
  222.  
  223. strget.obj:    ..\strget.c ..\curses.h ..\curspriv.h
  224.     $(CC) $(CFLAGS) -ostrget ..\strget.c
  225.  
  226. tabsize.obj:    ..\tabsize.c ..\curses.h ..\curspriv.h
  227.     $(CC) $(CFLAGS) -otabsize ..\tabsize.c
  228.  
  229. termmisc.obj:    ..\termmisc.c ..\curses.h ..\curspriv.h
  230.     $(CC) $(CFLAGS) -otermmisc ..\termmisc.c
  231.  
  232. unctrl.obj:    ..\unctrl.c ..\curses.h ..\curspriv.h
  233.     $(CC) $(CFLAGS) -ounctrl ..\unctrl.c
  234.  
  235. update.obj:    ..\update.c ..\curses.h ..\curspriv.h
  236.     $(CC) $(CFLAGS) -oupdate ..\update.c
  237.  
  238. winclear.obj:    ..\winclear.c ..\curses.h ..\curspriv.h
  239.     $(CC) $(CFLAGS) -owinclear ..\winclear.c
  240.  
  241. windel.obj:    ..\windel.c ..\curses.h ..\curspriv.h
  242.     $(CC) $(CFLAGS) -owindel ..\windel.c
  243.  
  244. winerase.obj:    ..\winerase.c ..\curses.h ..\curspriv.h
  245.     $(CC) $(CFLAGS) -owinerase ..\winerase.c
  246.  
  247. winmove.obj:    ..\winmove.c ..\curses.h ..\curspriv.h
  248.     $(CC) $(CFLAGS) -owinmove ..\winmove.c
  249.  
  250. winscrol.obj:    ..\winscrol.c ..\curses.h ..\curspriv.h
  251.     $(CC) $(CFLAGS) -owinscrol ..\winscrol.c
  252.  
  253. wintouch.obj:    ..\wintouch.c ..\curses.h ..\curspriv.h
  254.     $(CC) $(CFLAGS) -owintouch ..\wintouch.c
  255.  
  256. #################################################################
  257. # You have to choose one of the two following ways to make a    #
  258. # CURSESIO.OBJ - either the 'C' version or the 'ASM' version.    #
  259. # Comment out the one you do not like.                #
  260. #################################################################
  261.  
  262. #cursesio.obj:    ..\cursesio.c
  263. #    $(CC) $(CFLAGS) -ocursesio ..\cursesio.c
  264.  
  265. cursesio.obj:    ..\cursesio.asm
  266.      tasm ..\cursesio.asm /mx, cursesio.obj, nul, nul
  267.  
  268. # include files for cursesio.ams
  269.  
  270. smodel\farnear.inc:        nearcall.inc
  271.     copy    nearcall.inc    smodel\farnear.inc
  272. smodel\smalhuge.inc:    smaldata.inc
  273.     copy    smaldata.inc    smodel\smalhuge.inc
  274. cmodel\farnear.inc:        nearcall.inc
  275.     copy    nearcall.inc    cmodel\farnear.inc
  276. cmodel\smalhuge.inc:    hugedata.inc
  277.     copy    hugedata.inc    cmodel\smalhuge.inc
  278. mmodel\farnear.inc:        farcall.inc
  279.     copy    farcall.inc    mmodel\farnear.inc
  280. mmodel\smalhuge.inc:    smaldata.inc
  281.     copy    smaldata.inc    mmodel\smalhuge.inc
  282. lmodel\farnear.inc:        farcall.inc
  283.     copy    farcall.inc    lmodel\farnear.inc
  284. lmodel\smalhuge.inc:    hugedata.inc
  285.     copy    hugedata.inc    lmodel\smalhuge.inc
  286. hmodel\farnear.inc:        farcall.inc
  287.     copy    farcall.inc    hmodel\farnear.inc
  288. hmodel\smalhuge.inc:    hugedata.inc
  289.     copy    hugedata.inc    hmodel\smalhuge.inc
  290.  
  291. #################################################################
  292. # Perform a backup of the files in the directory where the      #
  293. # 'make backup' command was issued - copies all files to the    #
  294. # floppy in drive A:                                            #
  295. #################################################################
  296.  
  297. backup:
  298.     @echo ***** Backup of PCcurses *****
  299.     @echo Insert backup diskette in drive A: and hit any key!
  300.         rm /r a:\*
  301.     copy *.* a:
  302.  
  303. #################################################################
  304. # Remove all temporary files and work directories that were     #
  305. # created                                                       #
  306. #################################################################
  307.  
  308. clean:
  309.     rm /r *.obj smodel cmodel mmodel lmodel hmodel
  310.