home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c082_122 / 2.ddi / MATHSRC.ZIP / MATH.MAK < prev    next >
Encoding:
Text File  |  1992-06-10  |  4.0 KB  |  190 lines

  1. # MATH.MAK
  2. #
  3. # To compile all changed modules and replace (or add) both old and new objects
  4. # in an existing (or new) library, type
  5. #
  6. #       MAKE all
  7. #
  8. # To clean up (i.e., delete) all object files and temporary files, type
  9. #
  10. #       MAKE -DTARGET clean
  11. #
  12. # The memory model must be specified in one of two ways.  You can
  13. # set the environment variable MODEL before running MAKE:
  14. #
  15. #       SET MODEL=x
  16. #
  17. # or you can use the -D command line switch:
  18. #
  19. #       MAKE -DMODEL=x
  20. #
  21. # where x is the letter s, c, m, l, or h.  Using -D overrides the
  22. # environment variable.
  23. #
  24. # To make a library for Windows, use -DWINDOWS on the command line.
  25. # To make a DLL for Windows, use -DWINDLL on the command line.
  26.  
  27. !if $d(WINDLL)
  28. MODEL = l
  29. !endif
  30.  
  31. !if !$d(MODEL)
  32. !error MODEL not defined. Use -DMODEL=x on command line, or SET MODEL=x.
  33. !endif
  34.  
  35. !if '$(MODEL)'=='h' && ( $d(WINDOWS) || $d(WINDLL) )
  36.  
  37. all :
  38.         echo Can't make a huge model WINDOWS library
  39.  
  40. clean :
  41.         echo Can't clean up a huge model WINDOWS library
  42.  
  43. !else
  44.  
  45. # ALL - compiled changes sources and add all objects (old and new) to library
  46.  
  47. all :    special compile archive
  48.  
  49. !if '$(MODEL)'=='s' || '$(MODEL)'=='m'
  50. LDATA = 0
  51. !else
  52. LDATA = 1
  53. !endif
  54.  
  55. !include "mathobj.mak"
  56.  
  57. !if $d(WINDOWS)
  58.  
  59. OBJDIR  = w$(MODEL)
  60. LIBNAME = mathw$(MODEL)
  61. TC      = $(TC) +turbocw.cfg
  62. TASM    = $(TASM) -D_Windows -D_WINDOWS -o
  63. OBJECTS = $(OBJS1) $(OBJS2) $(OBJS4)
  64.  
  65. !elif $d(WINDLL)
  66.  
  67. OBJDIR  = d
  68. LIBNAME = crtldll
  69. TC      = $(TC) +turbocw.cfg -WDE -D_RTLDLL -D_BUILDRTLDLL -c
  70. TASM    = $(TASM) -D_Windows -D_WINDOWS -o
  71. OBJECTS = $(OBJS1) $(OBJS2) $(OBJS4)
  72.  
  73. !else
  74.  
  75. OBJDIR  = $(MODEL)
  76. LIBNAME = math$(MODEL)
  77. OBJECTS = $(OBJS1) $(OBJS3) $(OBJS4)
  78.  
  79. !endif
  80.  
  81. !include "..\rules.mak"
  82.  
  83. # Rules for the objects that can't be built the normal way in rules.mak.
  84.  
  85. OBJSPEC1 = \
  86. emuvars.obj \
  87. flags87.obj
  88.  
  89. OBJSPEC2 = \
  90. fftol.obj \
  91. nftol.obj
  92.  
  93. special : turboc.cfg tasm.cfg turbocw.cfg $(OBJSPEC1) $(OBJSPEC2) 
  94.  
  95. flags87.obj : flags87.asm
  96.         $(TASM) -D__COMPACT__ -D__BSS__ flags87.asm, $*
  97.  
  98. fftol.obj : ftol.asm
  99.         $(TASM) -D__COMPACT__ -D__BSS__ -DFCall ftol.asm, $*
  100.  
  101. nftol.obj : ftol.asm
  102.         $(TASM) -D__COMPACT__ -D__BSS__ -DNCall ftol.asm, $*
  103.  
  104. emuvars.obj : emuvars.asm
  105.         $(TASM) -D__COMPACT__ -D__BSS__ -DLDATA=$(LDATA) -I..\emu emuvars, $*
  106.  
  107. turboc.cfg : math.mak
  108.         copy &&|
  109. -c
  110. -D__NO_INTRINSICS__
  111. -I..\rtlinc;..\..\include;.
  112. -O
  113. -w
  114. -X
  115. -Z
  116. -zC_TEXT
  117. |       turboc.cfg
  118.  
  119. turbocw.cfg : math.mak
  120.         copy &&|
  121. -c
  122. -D__NO_INTRINSICS__
  123. -D_WINDOWS
  124. -D_Windows
  125. -I..\rtlinc;..\..\include;.
  126. -O
  127. -w
  128. -w-asm
  129. -WE
  130. -X
  131. -Z
  132. -zC_TEXT 
  133. |       turbocw.cfg
  134.  
  135. tasm.cfg : math.mak
  136.         copy &&|
  137. /m /mx /q /t /z /i..\rtlinc
  138. |       tasm.cfg
  139.  
  140. # ARCHIVE - add all objects to a new library.
  141.  
  142. !if $d(WINDLL)
  143.  
  144. archive :
  145.         makersp "..\\\\..\\\\math\\\\d\\\\%s\n" &&|
  146.         $(OBJS4)
  147. |       >> ..\winlib\dllmak.rsp
  148.         makersp "+$(OBJDIR)\\\\%s &\n" &&|
  149.         $(OBJS1)
  150.         $(OBJS2)
  151.         $(OBJSPEC2)
  152. |       > mathmak.rsp
  153.         $(TLIB) $(LIBDIR)\$(LIBNAME) /C @mathmak.rsp,nul
  154.         if exist $(LIBDIR)\*.bak del $(LIBDIR)\*.bak
  155.     del *.rsp
  156.  
  157. !elif $d(WINDOWS)
  158.  
  159. archive :
  160.         makersp "+$(OBJDIR)\\\\%s &\n" &&|
  161.         $(OBJS1)
  162.         $(OBJS2)
  163.         $(OBJS4)
  164.         $(OBJSPEC1)
  165.         $(OBJSPEC2)
  166. |       > mathmak.rsp
  167.         if exist $(LIBDIR)\$(LIBNAME).lib del $(LIBDIR)\$(LIBNAME).lib
  168.         $(TLIB) $(LIBDIR)\$(LIBNAME) /C @mathmak.rsp,nul
  169.         if exist $(LIBDIR)\*.bak del $(LIBDIR)\*.bak
  170.         del *.rsp
  171.  
  172. !else
  173.  
  174. archive :
  175.         makersp "+$(OBJDIR)\\\\%s &\n" &&|
  176.         $(OBJS1)
  177.         $(OBJS3)
  178.         $(OBJS4)
  179.         $(OBJSPEC1)
  180.         $(OBJSPEC2)
  181. |       > mathmak.rsp
  182.         if exist $(LIBDIR)\$(LIBNAME).lib del $(LIBDIR)\$(LIBNAME).lib
  183.         $(TLIB) $(LIBDIR)\$(LIBNAME) /C @mathmak.rsp,nul
  184.         if exist $(LIBDIR)\*.bak del $(LIBDIR)\*.bak
  185.         del *.rsp
  186.  
  187. !endif          # if $d(WINDLL)
  188.  
  189. !endif          # if huge model WINDOWS
  190.