home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / cdrom.zip / DDK / BASE / SRC / DEV / DASD / CDROM / TOSHIBA / makefile < prev    next >
Makefile  |  1996-09-03  |  10KB  |  280 lines

  1. # SCCSID = @(#)makefile 6.6 92/05/04
  2.  
  3. #/***********************************************************************/
  4. #/*                                                                     */
  5. #/* Driver Name: TOSHCDS1.FLT - Toshiba CD-ROM Filter                   */
  6. #/*              -----------------------------------                    */
  7. #/*                                                                     */
  8. #/* Source File Name: MAKEFILE                                          */
  9. #/*                                                                     */
  10. #/* Descriptive Name: MAKEFILE for the Toshiba CD-ROM Filter Driver     */
  11. #/*                                                                     */
  12. #/* Function:                                                           */
  13. #/*                                                                     */
  14. #/*                                                                     */
  15. #/*---------------------------------------------------------------------*/
  16. #/*                                                                     */
  17. #/* Copyright (C) 1992 IBM Corporation                                  */
  18. #/*                                                                     */
  19. #/* DISCLAIMER OF WARRANTIES.  The following [enclosed] code is         */
  20. #/* provided to you solely for the purpose of assisting you in          */
  21. #/* the development of your applications. The code is provided          */
  22. #/* "AS IS", without warranty of any kind. IBM shall not be liable      */
  23. #/* for any damages arising out of your use of this code, even if       */
  24. #/* they have been advised of the possibility of such damages.          */
  25. #/*                                                                     */
  26. #/*---------------------------------------------------------------------*/
  27. #/*                                                                     */
  28. #/* Change Log                                                          */
  29. #/*                                                                     */
  30. #/* Mark    Date      Programmer  Comment                               */
  31. #/* ----    ----      ----------  -------                               */
  32. #/* @nnnn   mm/dd/yy  NNN                                               */
  33. #/*                                                                     */
  34. #/*                                                                     */
  35. #/***********************************************************************/
  36.  
  37. #
  38. #       makefile for OS/2 2.0 Device Independent CD-ROM Device Manager
  39. #
  40. #       You can optionally generate the listing files for the device driver.
  41. #
  42. #          make  [option]
  43. #
  44. #            option:     list         -> create listings
  45. #                        toshcds1.flt -> create PS/2 386 RETAIL driver
  46. #
  47. #            default:  create toshcds1.flt
  48. #
  49. # ******  NOTE  ******
  50. #
  51. #        If you are using a SED command with TAB characters, many editors
  52. #        will expand tabs causing unpredictable results in other programs.
  53. #
  54. #        Documentation:
  55. #
  56. #        Using SED command with TABS. Besure to invoke set tab save option
  57. #        on your editor. If you don't, the program 'xyz' will not work
  58. #        correctly.
  59. #
  60.  
  61. #****************************************************************************
  62. #  Dot directive definition area (usually just suffixes)
  63. #****************************************************************************
  64.  
  65. .SUFFIXES:
  66. .SUFFIXES: .com .sys .exe .obj .mbj .asm .inc .def .lnk .lrf .crf .ref
  67. .SUFFIXES: .lst .sym .map .c .h .lib
  68.  
  69. #****************************************************************************
  70. #  Environment Setup for the component(s).
  71. #****************************************************************************
  72.  
  73. #
  74. # Conditional Setup Area and User Defined Macros
  75. #
  76.  
  77. #
  78. # Compiler Location w/ includes, libs and tools
  79. #
  80.  
  81. DOSINC = ..\..\..\..\dos\dosinc
  82. INIT   = ..\..\..\..\dos\init
  83. TASK   = ..\..\..\..\dos\task
  84. INC    = ..\..\..\..\..\inc
  85. H      = ..\..\..\..\..\h
  86. LIB    = ..\..\..\..\..\lib
  87. TOOLSPATH = ..\..\..\..\..\tools
  88. DISKH  = ..\..\diskh
  89. DASDH  = ..\..\os2dasd
  90. DHLIB  = ..\..\devhelp
  91. CDROMH = ..\os2cdrom
  92. FILTER = ..\filter
  93. FLTCMN  = filter
  94.  
  95. #
  96. # Since the compiler/linker and other tools use environment
  97. # variables ( INCLUDE, LIB, etc ) in order to get the location of files,
  98. # the following line will check the environment for the LIFE of the
  99. # makefile and will be specific to this set of instructions. All MAKEFILES
  100. # are requested to use this format to insure that they are using the correct
  101. # level of files and tools.
  102. #
  103.  
  104. !if [set INCLUDE=$(DOSINC);$(INIT);$(TASK);$(INC)] || \
  105.    [set LIB=$(LIB);$(DHLIB)] || [set PATH=$(TOOLSPATH);$(DK_TOOLS)]
  106. !endif
  107.  
  108.  
  109. #
  110. # Compiler/tools Macros
  111. #
  112.  
  113. AS=masm
  114. CC=cl
  115. IMPLIB=implib
  116. IPF=ipfc
  117. LIBUTIL=lib
  118. LINK=link
  119. MAPSYM=mapsym
  120. RC=rc
  121.  
  122. #
  123. # Compiler and Linker Options
  124. #
  125.  
  126. AFLAGS = -MX -T -Z $(ENV)
  127. AINC   = -I. -I$(DOSINC) -I$(INIT) -I$(TASK) -I$(INC)
  128. CINC   = -I$(H) -I$(FILTER) -I$(DASDH) -I$(CDROMH) -I$(DISKH) -I$(MAKEDIR)
  129. #CFLAGS = /c /Fc /Zp /G2s /Answ /NT StaticCode $(ENV)
  130. CFLAGS = /c /Zp /G2s /Answ $(ENV)
  131. LFLAGS = /map /nod /exepack /packd /a:16 /far
  132. RFLAGS = -r
  133.  
  134. #LIBS  =  $(DHLIB)\dhcalls.lib libh.lib
  135. LIBS  =  $(DHLIB)\dhcalls.lib
  136. DEF02 =  toshcds1.def
  137.  
  138. #****************************************************************************
  139. # Set up Macros that will contain all the different dependencies for the
  140. # executables and dlls etc. that are generated.
  141. #****************************************************************************
  142.  
  143. #
  144. #
  145. #
  146. OBJ1 =  fltsegs.obj
  147. OBJ2 =  toheader.obj fltstrat.obj fltiorb.obj \
  148.         fltasubr.obj toiorb.obj \
  149.         todata.obj \
  150.  
  151. OBJ3 =  ..\..\libobj\afuldiv.obj ..\..\libobj\afulrem.obj \
  152.         ..\..\libobj\anlmul.obj  ..\..\libobj\anuldiv.obj \
  153.         ..\..\libobj\anulrem.obj
  154. OBJ4 =  fltinit.obj
  155.  
  156. #
  157. #       LIST Files
  158. #
  159. LIST=   fltsegs.lst \
  160.         toheader.lst fltstrat.lst fltiorb.lst \
  161.         fltasubr.lst toiorb.lst \
  162.         todata.lst \
  163.         fltinit.lst
  164.  
  165.  
  166. OBJS = $(OBJ1) $(OBJ2) $(OBJ3) $(OBJ4)
  167.  
  168. #****************************************************************************
  169. #   Setup the inference rules for compiling and assembling source code to
  170. #   object code.
  171. #****************************************************************************
  172.  
  173. {..\$(FLTCMN)\}.asm.obj:
  174.         $(AS) $(AFLAGS) $(AINC) ..\$(FLTCMN)\$*.asm;
  175.  
  176. .asm.obj:
  177.         $(AS) $(AFLAGS) $(AINC) $*.asm;
  178.  
  179. .asm.mbj:
  180.         $(AS) $(AFLAGS) -DMMIOPH $(AINC) $*.asm $*.mbj;
  181.  
  182. {..\$(FLTCMN)\}.asm.lst:
  183.         $(AS) -l -n $(AFLAGS) $(AINC) ..\$(FLTCMN)\$*.asm;
  184.  
  185. .asm.lst:
  186.         $(AS) -l -n $(AFLAGS) $(AINC) $*.asm;
  187.  
  188.  
  189. {..\$(FLTCMN)\}.c.obj:
  190.         $(CC) $(CFLAGS) $(CINC) ..\$(FLTCMN)\$*.c
  191.  
  192. .c.obj:
  193.         $(CC) $(CFLAGS) $(CINC) $*.c
  194.  
  195. {..\$(FLTCMN)\}.c.lst:
  196.         $(CC) $(CFLAGS) /Fc $(CINC) ..\$(FLTCMN)\$*.c
  197.  
  198. .c.lst:
  199.         $(CC) $(CFLAGS) /Fc $(CINC) $*.c
  200.         copy $*.cod $*.lst
  201.         del $*.cod
  202.  
  203.  
  204. #****************************************************************************
  205. #   Target Information
  206. #****************************************************************************
  207. #
  208. # This is a very important step. The following small amount of code MUST
  209. # NOT be removed from the program. The following directive will do
  210. # dependency checking every time this component is built UNLESS the
  211. # following is performed:
  212. #                    A specific tag is used -- ie. all
  213. #
  214. # This allows the developer as well as the B & I group to perform incremental
  215. # build with a degree of accuracy that has not been used before.
  216. # There are some instances where certain types of INCLUDE files must be
  217. # created first. This type of format will allow the developer to require
  218. # that file to be created first. In order to achive that, all that has to
  219. # be done is to make the DEPEND.MAK tag have your required target. Below is
  220. # an example:
  221. #
  222. #    depend.mak:   { your file(s) } dephold
  223. #
  224. # Please DON'T remove the following line
  225. #
  226.  
  227.  
  228. #
  229. # Should be the default tag for all general processing
  230. #
  231.  
  232. all:    toshcds1.flt
  233.  
  234. list: $(LIST)
  235.  
  236. clean:
  237.         if exist *.lnk  del *.lnk
  238.         if exist *.obj  del *.obj
  239.         if exist *.mbj  del *.mbj
  240.         if exist *.map  del *.map
  241.         if exist *.old  del *.old
  242.         if exist *.lst  del *.lst
  243.         if exist *.lsd  del *.lsd
  244.         if exist *.sym  del *.sym
  245.         if exist *.sys  del *.sys
  246.         if exist *.dmd  del *.dmd
  247.         if exist *.flt  del *.flt
  248.         if exist *.tff  del *.tff
  249.  
  250.  
  251. #*****************************************************************************
  252. #   Specific Description Block Information
  253. #*****************************************************************************
  254.  
  255. # This section would only be for specific direction as to how to create
  256. # unique elements that are necessary to the build process. This could
  257. # be compiling or assembling, creation of DEF files and other unique
  258. # files.
  259. # If all compiler and assembly rules are the same, use an inference rule to
  260. # perform the compilation.
  261. #
  262.  
  263. toshcds1.flt:  $(OBJS) $(DEF02) $(LIBS)  makefile
  264.         $(LINK) $(LFLAGS) @<<$(@B).lnk
  265. $(OBJ1) +
  266. $(OBJ2) +
  267. $(OBJ3) +
  268. $(OBJ4)
  269. $*.flt
  270. $*.map
  271. $(LIBS)
  272. $(DEF02)
  273. <<keep
  274.              $(MAPSYM) $*.map
  275. #            trcust $*.tsf
  276.  
  277.  
  278.  
  279. #****************************************************************************
  280.