home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c082_122 / 1.ddi / CLIBSRC.ZIP / FARFUNCS.MAK < prev    next >
Encoding:
Text File  |  1992-06-10  |  5.7 KB  |  217 lines

  1. # FARFUNCS.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 -DDLL on the command line.
  26.  
  27. !if !$d(MODEL)
  28. !error MODEL not defined. Use -DMODEL=x on command line, or SET MODEL=x.
  29. !endif
  30.  
  31. !if '$(MODEL)'=='h' && ( $d(WINDOWS) || $d(DLL) )
  32.  
  33. all :
  34.         echo Can't make a huge model WINDOWS library
  35.  
  36. new :
  37.         echo Can't make a huge model WINDOWS library
  38.  
  39. clean :
  40.         echo Can't clean up a huge model WINDOWS library
  41.  
  42. !else
  43.  
  44. !if $d(WINDOWS)
  45.  
  46. LIBNAME = cw$(MODEL)
  47. OBJDIR  = w$(MODEL)
  48. TC      = $(TC) +..\winlib\turboc.cfg
  49. TASM    = $(TASM) -D_Windows -D_WINDOWS -o
  50.  
  51. !elif $d(WINDLL)
  52.  
  53. LIBNAME = crtldll.lib
  54. OBJDIR  = d
  55. TC      = $(TC) +..\winlib\tcdll.cfg -D_RTLDLL -c
  56. TASM    = $(TASM) -D_Windows -D_WINDOWS -o
  57.  
  58. !else
  59.  
  60. LIBNAME = c$(MODEL)
  61.  
  62. !endif
  63.  
  64. OBJECTS = lib1
  65.  
  66. # The target "replace" is defined in rules.mak
  67.  
  68. all : $(OBJECTS) archive
  69.  
  70. !include "..\rules.mak"
  71.  
  72. # The list of object files.  WARNING: if you add a file to this list,
  73. # you must also add an explicit rule for compiling it at the end of
  74. # this makefile.
  75.  
  76. DLLOBJS = \
  77. $(OBJDIR)\fmemccpy.obj \
  78. $(OBJDIR)\fmemchr.obj \
  79. $(OBJDIR)\fmemcmp.obj \
  80. $(OBJDIR)\fmemcpy.obj \
  81. $(OBJDIR)\fmemicmp.obj \
  82. $(OBJDIR)\fmemset.obj \
  83. $(OBJDIR)\fmovmem.obj \
  84. $(OBJDIR)\fstrcat.obj \
  85. $(OBJDIR)\fstrchr.obj \
  86. $(OBJDIR)\fstrcmp.obj \
  87. $(OBJDIR)\fstrcpy.obj \
  88. $(OBJDIR)\fstrcspn.obj \
  89. $(OBJDIR)\fstrdup.obj \
  90. $(OBJDIR)\fstricmp.obj \
  91. $(OBJDIR)\fstrlen.obj \
  92. $(OBJDIR)\fstrlwr.obj \
  93. $(OBJDIR)\fstrncat.obj \
  94. $(OBJDIR)\fstrncmp.obj \
  95. $(OBJDIR)\fstrncpy.obj \
  96. $(OBJDIR)\fstrnicm.obj \
  97. $(OBJDIR)\fstrnset.obj \
  98. $(OBJDIR)\fstrpbrk.obj \
  99. $(OBJDIR)\fstrrchr.obj \
  100. $(OBJDIR)\fstrrev.obj \
  101. $(OBJDIR)\fstrset.obj \
  102. $(OBJDIR)\fstrspn.obj \
  103. $(OBJDIR)\fstrstr.obj \
  104. $(OBJDIR)\fstrtok.obj \
  105. $(OBJDIR)\fstrupr.obj \
  106. $(OBJDIR)\ftoupper.obj \
  107. $(OBJDIR)\ftolower.obj \
  108. $(OBJDIR)\hqsort.obj
  109.  
  110. lib1 : $(DLLOBJS) $(NONDLLOBJS)
  111.  
  112. # ARCHIVE - add all objects to a new library
  113.  
  114. !if $d(WINDLL)
  115.  
  116. archive :
  117.         makersp "..\\\\..\\\\clib\\\\%s\n" &&|
  118.         $(DLLOBJS)
  119. |       >> ..\winlib\dllmak.rsp
  120.         makersp "+$(OBJDIR)\\\\%s &\n" &&|
  121.         $(NONDLLOBJS)
  122. |       > farfuncs.rsp
  123.         $(TLIB) $(LIBDIR)\$(LIBNAME) /C @farfuncs.rsp,nul
  124.         if exist $(LIBDIR)\*.bak del $(LIBDIR)\*.bak
  125.     del *.rsp
  126.  
  127. !else
  128.  
  129. archive :
  130.         makersp "+%s &\n" &&|
  131.         $(DLLOBJS)
  132.         $(NONDLLOBJS)
  133. |       > farfuncs.rsp
  134.         $(TLIB) $(LIBDIR)\$(LIBNAME) /C @farfuncs.rsp,nul
  135.         if exist $(LIBDIR)\*.bak del $(LIBDIR)\*.bak
  136.         del *.rsp
  137. !endif          # if $d(WINDLL)
  138.  
  139. # How to compile modules.
  140.  
  141. !if '$(MODEL)'=='h'
  142. COMPILE   = $(TC) -mh -D__FARFUNCS__ -o$<
  143. !else
  144. COMPILE   = $(TC) -ml -D__FARFUNCS__ -o$<
  145. !endif
  146.  
  147. # We have to painstakingly give an explicit rule for each
  148. # object file in OBJECTS, because the object filename is
  149. # different from the source filename -- it has an "f" prepended --
  150. # and because names with 8 characters have to be shortened.
  151.  
  152. $(OBJDIR)\fmemccpy.obj : memccpy.cas
  153.         $(COMPILE) memccpy.cas
  154. $(OBJDIR)\fmemchr.obj : memchr.cas
  155.         $(COMPILE) memchr.cas
  156. $(OBJDIR)\fmemcmp.obj : memcmp.cas
  157.         $(COMPILE) memcmp.cas
  158. $(OBJDIR)\fmemcpy.obj : memcpy.cas
  159.         $(COMPILE) memcpy.cas
  160. $(OBJDIR)\fmemicmp.obj : memicmp.c
  161.         $(COMPILE) memicmp.c
  162. $(OBJDIR)\fmemset.obj : memset.cas
  163.         $(COMPILE) memset.cas
  164. $(OBJDIR)\fmovmem.obj : movmem.cas
  165.         $(COMPILE) movmem.cas
  166. $(OBJDIR)\fstrcat.obj : strcat.cas
  167.         $(COMPILE) strcat.cas
  168. $(OBJDIR)\fstrchr.obj : strchr.cas
  169.         $(COMPILE) strchr.cas
  170. $(OBJDIR)\fstrcmp.obj : strcmp.cas
  171.         $(COMPILE) strcmp.cas
  172. $(OBJDIR)\fstrcpy.obj : strcpy.cas
  173.         $(COMPILE) strcpy.cas
  174. $(OBJDIR)\fstrcspn.obj : strcspn.c
  175.         $(COMPILE) strcspn.c
  176. $(OBJDIR)\fstrdup.obj : strdup.c
  177.         $(COMPILE) strdup.c
  178. $(OBJDIR)\fstricmp.obj : stricmp.cas
  179.         $(COMPILE) stricmp.cas
  180. $(OBJDIR)\fstrlen.obj : strlen.cas
  181.         $(COMPILE) strlen.cas
  182. $(OBJDIR)\fstrlwr.obj : strlwr.cas
  183.         $(COMPILE) strlwr.cas
  184. $(OBJDIR)\fstrncat.obj : strncat.c
  185.         $(COMPILE) strncat.c
  186. $(OBJDIR)\fstrncmp.obj : strncmp.cas
  187.         $(COMPILE) strncmp.cas
  188. $(OBJDIR)\fstrncpy.obj : strncpy.cas
  189.         $(COMPILE) strncpy.cas
  190. $(OBJDIR)\fstrnicm.obj : strnicmp.cas
  191.         $(COMPILE) strnicmp.cas
  192. $(OBJDIR)\fstrnset.obj : strnset.c
  193.         $(COMPILE) strnset.c
  194. $(OBJDIR)\fstrpbrk.obj : strpbrk.c
  195.         $(COMPILE) strpbrk.c
  196. $(OBJDIR)\fstrrchr.obj : strrchr.c
  197.         $(COMPILE) strrchr.c
  198. $(OBJDIR)\fstrrev.obj : strrev.cas
  199.         $(COMPILE) strrev.cas
  200. $(OBJDIR)\fstrset.obj : strset.c
  201.         $(COMPILE) strset.c
  202. $(OBJDIR)\fstrspn.obj : strspn.c
  203.         $(COMPILE) strspn.c
  204. $(OBJDIR)\fstrstr.obj : strstr.cas
  205.         $(COMPILE) strstr.cas
  206. $(OBJDIR)\fstrtok.obj : strtok.c
  207.         $(COMPILE) strtok.c
  208. $(OBJDIR)\fstrupr.obj : strupr.cas
  209.         $(COMPILE) strupr.cas
  210. $(OBJDIR)\ftoupper.obj : toupper.c
  211.         $(COMPILE) toupper.c
  212. $(OBJDIR)\ftolower.obj : tolower.c
  213.         $(COMPILE) tolower.c
  214. $(OBJDIR)\hqsort.obj : qsort.cas
  215.         $(COMPILE) qsort.cas
  216. !endif          # if huge model WINDOWS
  217.