home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / progmisc / tde221.zip / MAKECFG < prev    next >
Text File  |  1993-04-01  |  3KB  |  142 lines

  1. #
  2. # Compilers supported == MSC 5.1, MSC 6.0ax, MSC 7.0, QC 2.5, and BCC 3.1
  3. # Makes supported     == Microsoft's nmake and Borland's make
  4. #
  5. # To make TDECFG with Microsoft compilers, change the defines and type:
  6. #
  7. #      nmake makecfg
  8. #
  9. # To make TDECFG with Borland's make, change the appropriate defines and type:
  10. #
  11. #      make -f maketde
  12. #
  13.  
  14.  
  15. PROJ      = tdecfg
  16.  
  17.  
  18. #
  19. # Define your favorite compiler last
  20. #
  21. COMPILER   = QUICKC
  22. COMPILER   = BCC
  23. COMPILER   = MSC
  24.  
  25.  
  26. #
  27. # Assertions may be turned off or on.  I usually leave assertions on.
  28. #
  29. ASSERTIONS = ON
  30. ASSERTIONS = OFF
  31. ASSERT     = TDE
  32. !IF "$(ASSERTIONS)" == "OFF"
  33. !UNDEF ASSERT
  34. !ENDIF
  35.  
  36.  
  37. #
  38. # Compiler and linker flags and switches.
  39. #
  40. !IF "$(COMPILER)" == "MSC"
  41. CC      = cl
  42. !IFDEF ASSERT
  43. CFLAGS  = /c /AS /W4 /Os /D__MSC__
  44. !ELSE
  45. CFLAGS  = /c /AS /W4 /Os /Gs /D__MSC__ /DNDEBUG
  46. !ENDIF
  47. LINK    = link
  48. LFLAGS  = /STACK:8196 /NOI
  49.  
  50. !ELSE
  51. !IF "$(COMPILER)" == "QUICKC"
  52. CC      = qcl
  53. !IFDEF ASSERT
  54. CFLAGS  = /c /AS /D__MSC__ /Ot /W4
  55. !ELSE
  56. CFLAGS  = /c /AS /D__MSC__ /Ot /W4 /DNDEBUG
  57. !ENDIF
  58. LINK    = qlink
  59. LFLAGS  = /STACK:8196 /NOI
  60.  
  61. !ELSE
  62. !IF "$(COMPILER)" == "BCC"
  63. CC      = bcc
  64. !IFDEF ASSERT
  65. CFLAGS  = -c -G -ms -O2 -tDe -w -N
  66. !ELSE
  67. CFLAGS  = -c -G -ms -O2 -tDe -w -DNDEBUG
  68. !ENDIF
  69. LINK    = tlink
  70. LFLAGS  = /Td /c
  71.  
  72. !ELSE
  73. !ERROR I only know how to make MSC, QuickC, and BCC.
  74. !ENDIF
  75. !ENDIF
  76. !ENDIF
  77.  
  78.  
  79. #
  80. # Define the compiler rules
  81. #
  82. .c.obj :
  83.         $(CC) $(CFLAGS) $<
  84.  
  85.  
  86. #
  87. # List the dependent obj files
  88. #
  89. CFGOBJS  = tdecfg.obj cfgcolor.obj cfgfile.obj cfghelp.obj cfgkeys.obj\
  90.            cfgmacro.obj cfgmodes.obj
  91.  
  92. all: $(PROJ).exe
  93.  
  94.  
  95. #
  96. # List the rules for the obj files.
  97. #
  98. tdecfg.obj   : tdecfg.c   tdecfg.h
  99.  
  100. cfgcolor.obj : cfgcolor.c tdecfg.h cfgcolor.h
  101.  
  102. cfgfile.obj  : cfgfile.c  tdecfg.h cfgfile.h
  103.  
  104. cfghelp.obj  : cfghelp.c  tdecfg.h cfghelp.h
  105.  
  106. cfgkeys.obj  : cfgkeys.c  tdecfg.h cfgkeys.h
  107.  
  108. cfgmacro.obj : cfgmacro.c tdecfg.h cfgmacro.h
  109.  
  110. cfgmodes.obj : cfgmodes.c tdecfg.h cfgmodes.h
  111.  
  112.  
  113. #
  114. # Once we get everything compiled, link with either Microsoft or Borland stuff.
  115. # Incidentally, blank lines are significant for the linker response files.
  116. #
  117. !IF "$(COMPILER)" == "BCC"
  118. $(PROJ).exe  : $(CFGOBJS)
  119.         $(LINK) $(LFLAGS) @&&%
  120. C0M  $(CFGOBJS)
  121. $*
  122.  
  123. CM.LIB
  124. %
  125. !ELSE
  126. $(PROJ).exe : $(CFGOBJS)
  127.         echo >NUL @<<$(PROJ).crf
  128. tdecfg.obj+
  129. cfgcolor.obj+
  130. cfgfile.obj+
  131. cfghelp.obj+
  132. cfgkeys.obj+
  133. cfgmacro.obj+
  134. cfgmodes.obj
  135. $(PROJ).EXE
  136.  
  137.  
  138.  
  139. <<
  140.         ilink -a -e "$(LINK) $(LFLAGS) @$(PROJ).crf" $(PROJ)
  141. !ENDIF
  142.