home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / lisp / stk-3.002 / stk-3 / STk-3.1 / Tk / win / makefile.bc < prev    next >
Encoding:
Makefile  |  1996-04-19  |  6.4 KB  |  322 lines

  1. # Borland C++ 4.5 makefile for Tk
  2. #
  3. # Copyright (c) 1995-1996 by Sun Microsystems, Inc.
  4. #
  5. # See the file "license.terms" for information on usage and redistribution
  6. # of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  7. #
  8. # SCCS: @(#) makefile.bc 1.40 96/04/18 17:23:29
  9.  
  10.  
  11. #
  12. # Project directories
  13. #
  14. # ROOT = top of source tree
  15. # TMPDIR = location where .obj files should be stored during build
  16. # TCLDIR = location of top of Tcl source heirarchy
  17. #
  18.  
  19. ROOT    = ..
  20. TMPDIR    = .
  21. TOOLS    = c:\bc45
  22. TCLDIR    = ..\..\tcl7.5
  23.  
  24. # uncomment the following line to compile with symbols
  25. #DEBUG=1
  26.  
  27. # uncomment the following two lines to compile with TCL_MEM_DEBUG
  28. #DEBUGDEFINES    =TCL_MEM_DEBUG
  29.  
  30. #
  31. # Borland C++ tools
  32. #
  33.  
  34. BORLAND = $(TOOLS)
  35. IMPLIB  = Implib
  36. IMPLIB  = $(BORLAND)\bin\Implib
  37. BCC32   = $(BORLAND)\bin\Bcc32
  38. TLINK32 = $(BORLAND)\bin\tlink32
  39. RC    = $(BORLAND)\bin\brcc32
  40. CP      = copy
  41. RM      = del
  42.  
  43. INCLUDES =    $(BORLAND)\include;$(ROOT)\generic;$(ROOT)\bitmaps;$(ROOT)\xlib;$(ROOT);$(TCLDIR)\generic
  44. LIBDIRS =    $(BORLAND)\lib;$(ROOT)\win
  45. TCLLIBDIR =    $(TCLDIR)\win
  46.  
  47.  
  48. !ifndef DEBUG
  49.  
  50. # these macros cause maximum optimization and no symbols
  51. DEBUGLDFLAGS = 
  52. DEBUGCCFLAGS = -v- -vi- -O2
  53.  
  54. !else
  55.  
  56. # these macros enable debugging
  57. DEBUGLDFLAGS = -v
  58. DEBUGCCFLAGS = -k -Od -v
  59.  
  60. !endif
  61.  
  62. DEFINES = _RTLDLL;$(DEBUGDEFINES)
  63. PROJECTCCFLAGS= $(DEBUGCCFLAGS) -w-par -w-stu
  64.  
  65. LNFLAGS_exe = -Tpe -aa -c $(DEBUGLDFLAGS) $(BORLAND)\lib\c0w32
  66. LNFLAGS_dll = -Tpd -aa -c $(DEBUGLDFLAGS) $(BORLAND)\lib\c0d32
  67.  
  68. LNLIBS_exe =    $(TKLIB) $(TCLLIBDIR)\$(TCLLIB) import32 cw32i
  69. LNLIBS_dll =    $(TCLLIBDIR)\$(TCLLIB) import32 cw32i
  70.  
  71. # Global makefile settings
  72. #
  73.  
  74. .AUTODEPEND
  75. .CACHEAUTODEPEND
  76.  
  77. .suffixes: .c .dll .lib .obj .exe
  78.  
  79. .path.c=$(ROOT)\win;$(ROOT)\generic;$(ROOT)\xlib
  80. .path.obj=$(TMPDIR)
  81.  
  82. WISHOBJS = \
  83.     $(TMPDIR)\tkConsole.obj \
  84.     $(TMPDIR)\winMain.obj
  85.  
  86. TKTESTOBJS = \
  87.     $(TMPDIR)\tkConsole.obj \
  88.     $(TMPDIR)\tkTest.obj \
  89.     $(TMPDIR)\tkSquare.obj \
  90.     $(TMPDIR)\testMain.obj
  91.  
  92. XLIBOBJS = \
  93.     $(TMPDIR)\xdraw.obj \
  94.     $(TMPDIR)\xgc.obj \
  95.     $(TMPDIR)\ximage.obj \
  96.     $(TMPDIR)\xutil.obj
  97.  
  98. TKOBJS = \
  99.     $(XLIBOBJS) \
  100.     $(TMPDIR)\tkWin32Dll.obj \
  101.     $(TMPDIR)\tkWinClipboard.obj \
  102.     $(TMPDIR)\tkWinColor.obj \
  103.     $(TMPDIR)\tkWinCursor.obj \
  104.     $(TMPDIR)\tkWinDraw.obj \
  105.     $(TMPDIR)\tkWinFont.obj \
  106.     $(TMPDIR)\tkWinImage.obj \
  107.     $(TMPDIR)\tkWinInit.obj \
  108.     $(TMPDIR)\tkWinKey.obj \
  109.     $(TMPDIR)\tkWinPixmap.obj \
  110.     $(TMPDIR)\tkWinPointer.obj \
  111.     $(TMPDIR)\tkWinRegion.obj \
  112.     $(TMPDIR)\tkWinWindow.obj \
  113.     $(TMPDIR)\tkWinWm.obj \
  114.     $(TMPDIR)\tkWinX.obj \
  115.     $(TMPDIR)\stubs.obj \
  116.     $(TMPDIR)\tk3d.obj \
  117.     $(TMPDIR)\tkArgv.obj \
  118.     $(TMPDIR)\tkAtom.obj \
  119.     $(TMPDIR)\tkBind.obj \
  120.     $(TMPDIR)\tkBitmap.obj \
  121.     $(TMPDIR)\tkButton.obj \
  122.     $(TMPDIR)\tkCanvArc.obj \
  123.     $(TMPDIR)\tkCanvBmap.obj \
  124.     $(TMPDIR)\tkCanvImg.obj \
  125.     $(TMPDIR)\tkCanvLine.obj \
  126.     $(TMPDIR)\tkCanvPoly.obj \
  127.     $(TMPDIR)\tkCanvPs.obj \
  128.     $(TMPDIR)\tkCanvText.obj \
  129.     $(TMPDIR)\tkCanvUtil.obj \
  130.     $(TMPDIR)\tkCanvWind.obj \
  131.     $(TMPDIR)\tkCanvas.obj \
  132.     $(TMPDIR)\tkClipboard.obj \
  133.     $(TMPDIR)\tkCmds.obj \
  134.     $(TMPDIR)\tkColor.obj \
  135.     $(TMPDIR)\tkConfig.obj \
  136.     $(TMPDIR)\tkCursor.obj \
  137.     $(TMPDIR)\tkEntry.obj \
  138.     $(TMPDIR)\tkError.obj \
  139.     $(TMPDIR)\tkEvent.obj \
  140.     $(TMPDIR)\tkFocus.obj \
  141.     $(TMPDIR)\tkFont.obj \
  142.     $(TMPDIR)\tkFrame.obj \
  143.     $(TMPDIR)\tkGC.obj \
  144.     $(TMPDIR)\tkGeometry.obj \
  145.     $(TMPDIR)\tkGet.obj \
  146.     $(TMPDIR)\tkGrab.obj \
  147.     $(TMPDIR)\tkGrid.obj \
  148.     $(TMPDIR)\tkImage.obj \
  149.     $(TMPDIR)\tkImgBmap.obj \
  150.     $(TMPDIR)\tkImgGIF.obj \
  151.     $(TMPDIR)\tkImgPPM.obj \
  152.     $(TMPDIR)\tkImgPhoto.obj \
  153.     $(TMPDIR)\tkImgUtil.obj \
  154.     $(TMPDIR)\tkListbox.obj \
  155.     $(TMPDIR)\tkMain.obj \
  156.     $(TMPDIR)\tkMenu.obj \
  157.     $(TMPDIR)\tkMenubutton.obj \
  158.     $(TMPDIR)\tkMessage.obj \
  159.     $(TMPDIR)\tkOption.obj \
  160.     $(TMPDIR)\tkPack.obj \
  161.     $(TMPDIR)\tkPlace.obj \
  162.     $(TMPDIR)\tkRectOval.obj \
  163.     $(TMPDIR)\tkScale.obj \
  164.     $(TMPDIR)\tkScrollbar.obj \
  165.     $(TMPDIR)\tkSelect.obj \
  166.     $(TMPDIR)\tkSend.obj \
  167.     $(TMPDIR)\tkText.obj \
  168.     $(TMPDIR)\tkTextBTree.obj \
  169.     $(TMPDIR)\tkTextDisp.obj \
  170.     $(TMPDIR)\tkTextIndex.obj \
  171.     $(TMPDIR)\tkTextMark.obj \
  172.     $(TMPDIR)\tkTextTag.obj \
  173.     $(TMPDIR)\tkTextWind.obj \
  174.     $(TMPDIR)\tkTrig.obj \
  175.     $(TMPDIR)\tkUtil.obj \
  176.     $(TMPDIR)\tkVisual.obj \
  177.     $(TMPDIR)\tkWindow.obj \
  178.     $(TMPDIR)\tkXId.obj
  179.  
  180. TCLLIB = tcl75.lib
  181. TKLIB = tk41.lib
  182. TCLDLL = tcl75.dll
  183. TKDLL = tk41.dll
  184. WISH = wish41.exe
  185. TKTEST = tktest.exe
  186.  
  187. #
  188. # Targets
  189. #
  190.  
  191. all: cfgdll $(TKDLL) cfgexe $(WISH) cfgcln
  192. test: cfgdll $(TKDLL) cfgtest $(TKTEST) cfgcln
  193.  
  194. # Implicit Targets
  195.  
  196. .c.obj:
  197.     @$(BCC32) {$< }
  198.  
  199. .dll.lib:
  200.     $(IMPLIB) -c $@ $<
  201.  
  202. .rc.res:
  203.     $(RC) -i$(INCLUDES) $<
  204.  
  205. #
  206. # Special case object file targets
  207. #
  208.  
  209. $(TMPDIR)\testMain.obj : $(ROOT)\win\winMain.c
  210.     $(BCC32) -c -o$@ $(ROOT)\win\winMain.c
  211.  
  212. #
  213. # Configuration file targets - these files are implicitly used by the compiler
  214. #
  215.  
  216. cfgdll:
  217.     @$(CP) &&|
  218.         -n$(TMPDIR) -I$(INCLUDES) -c -WD
  219.         -D$(DEFINES) -3 -d $(PROJECTCCFLAGS)
  220. | bcc32.cfg >NUL
  221.  
  222. cfgexe:
  223.     @$(CP) &&|
  224.         -n$(TMPDIR) -I$(INCLUDES) -c -W
  225.         -D$(DEFINES) -3 -d $(PROJECTCCFLAGS)
  226. | bcc32.cfg >NUL
  227.  
  228. cfgtest:
  229.     @$(CP) &&|
  230.         -n$(TMPDIR) -I$(INCLUDES) -c -W
  231.         -D$(DEFINES);TCL_TEST -3 -d $(PROJECTCCFLAGS)
  232. | bcc32.cfg >NUL
  233.  
  234. cfgcln:
  235.     @$(RM) bcc32.cfg
  236.  
  237. #
  238. # Executable targets
  239. #
  240.  
  241. $(TKDLL): $(TKOBJS) tk.def rc\tk.res
  242.     $(TLINK32) @&&|
  243. $(LNFLAGS_dll) $(TKOBJS)
  244. $@
  245. -x
  246. $(LNLIBS_dll)
  247. tk.def
  248. rc\tk.res
  249. |
  250.  
  251. $(WISH): $(WISHOBJS) $(TKLIB) rc\wish.res
  252.     $(TLINK32) @&&|
  253. $(LNFLAGS_exe) $(WISHOBJS)
  254. $@
  255. -x
  256. $(LNLIBS_exe)
  257. |, &&|
  258. EXETYPE WINDOWS
  259. CODE PRELOAD MOVEABLE DISCARDABLE
  260. DATA PRELOAD MOVEABLE MULTIPLE
  261. |, rc\wish.res
  262.  
  263. $(TKTEST): $(TKTESTOBJS) $(TKLIB)
  264.     $(TLINK32) $(LNFLAGS_exe) @&&|
  265. $(TKTESTOBJS)
  266. $@
  267. -x
  268. $(LNLIBS_exe)
  269. |, &&|
  270. EXETYPE WINDOWS
  271. CODE PRELOAD MOVEABLE DISCARDABLE
  272. DATA PRELOAD MOVEABLE MULTIPLE
  273. |, 
  274.  
  275. # Other dependencies
  276. #
  277.  
  278. rc\wish.res: rc\wish.ico
  279. rc\tk.res: rc\tk.ico rc\*.cur
  280.  
  281. # The following rule automatically generates a tk.def file containing
  282. # an export entry for every public symbol in the $(TKDLL) library.
  283.  
  284. tk.def: $(TKOBJS)
  285.     $(TCLLIBDIR)\dumpexts.exe -o $@ $(TKDLL) @&&|
  286.         $(TKOBJS)
  287. |
  288.  
  289. # rule to build library object files
  290.  
  291. # debugging rules, the .dll and .exe files must be in the same
  292. # directory as the object files for debugging purposes
  293.  
  294. $(TMPDIR)\$(TKDLL): $(TKDLL)
  295.     $(CP) $(TKDLL) $(TMPDIR)
  296.  
  297. $(TMPDIR)\$(TCLDLL): $(TCLLIBDIR)\$(TCLDLL)
  298.     $(CP) $(TCLLIBDIR)\$(TCLDLL) $(TMPDIR)
  299.  
  300. $(TMPDIR)\$(WISH): $(WISH)
  301.     $(CP) $(WISH) $(TMPDIR)
  302.  
  303. $(TMPDIR)\$(TKTEST): $(TKTEST)
  304.     $(CP) $(TKTEST) $(TMPDIR)
  305.  
  306. debug: $(TMPDIR)\$(TKDLL) $(TMPDIR)\$(TCLDLL) $(TMPDIR)\$(TKTEST)
  307.  
  308.  
  309. # remove all generated files
  310.  
  311. clean:
  312.     $(RM) $(WISH)
  313.     $(RM) $(TKTEST)
  314.     $(RM) $(TKLIB) 
  315.     $(RM) $(TKDLL)  
  316.     $(RM) rc\*.res  
  317.     $(RM) tk.def
  318.     $(RM) $(TMPDIR)\*.obj
  319.     $(RM) *.cfg
  320.