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

  1. #/****************************************************************************/
  2. #/*                                                                          */
  3. #/* Driver Name: IBMIDECD.ADD - Adapter Driver for ATAPI CD-ROMs             */
  4. #/*              ------------------------------------------------            */
  5. #/*                                                                          */
  6. #/* Source File Name: MAKEFILE                                               */
  7. #/*                                                                          */
  8. #/* Descriptive Name: MAKEFILE for IBMIDECD.ADD                              */
  9. #/*                                                                          */
  10. #/*--------------------------------------------------------------------------*/
  11. #/*                                                                          */
  12. #/* Copyright : COPYRIGHT IBM CORPORATION, 1993, 1994                        */
  13. #/*             LICENSED MATERIAL - PROGRAM PROPERTY OF IBM                  */
  14. #/*             REFER TO COPYRIGHT INSTRUCTION FORM#G120-2083                */
  15. #/*             RESTRICTED MATERIALS OF IBM                                  */
  16. #/*             IBM CONFIDENTIAL                                             */
  17. #/*                                                                          */
  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. #/* CHANGE ACTIVITY =                                                        */
  35. #/*     DATE       FLAG     DEFECT           CHANGE DESCRIPTION              */
  36. #/*   --------  ----------  ------  --------------------------------------   */
  37. #/*   01/23/95  @110138     110138  remove debug option                      */
  38. #/*   04/05/96  @V151168            Merged warm dock/swap code.              */
  39. #/*   05/24/96  @V155162            Thinkpad docking/swapping IDE update.
  40. #/****************************************************************************/
  41. #
  42. #
  43. #       You can optionally generate the listing files for the device driver.
  44. #
  45. #          make  [option]
  46. #
  47. #            option:     list            -> create listings
  48. #                        ibmidecd.flt    -> create Retail IDE CD-ROM filter
  49. #
  50. # ******  NOTE  ******
  51. #
  52. #        If you are using a SED command with TAB characters, many editors
  53. #        will expand tabs causing unpredictable results in other programs.
  54. #
  55. #        Documentation:
  56. #
  57. #        Using SED command with TABS. Besure to invoke set tab save option
  58. #        on your editor. If you don't, the program 'xyz' will not work
  59. #        correctly.
  60. #
  61.  
  62. #****************************************************************************
  63. #  Dot directive definition area (usually just suffixes)
  64. #****************************************************************************
  65.  
  66. .SUFFIXES:
  67. .SUFFIXES: .com .flt .exe .obj .asm .inc .def .lnk .lrf .crf .ref
  68. .SUFFIXES: .lst .sym .map .c .h .lib .cod .flt
  69.  
  70. #****************************************************************************
  71. #  Environment Setup for the component(s).
  72. #****************************************************************************
  73.  
  74. #
  75. # Conditional Setup Area and User Defined Macros
  76. #
  77.  
  78. #
  79. # Compiler Location w/ includes, libs and tools
  80. #
  81.  
  82. DOSINC    = ..\..\..\..\dos\dosinc
  83. INIT      = ..\..\..\..\dos\init
  84. TASK      = ..\..\..\..\dos\task
  85. INC       = ..\..\..\..\..\inc
  86. H         = ..\..\..\..\..\h
  87. LIB       = ..\..\..\..\..\lib
  88. TOOLSPATH = ..\..\..\..\..\tools
  89. DISKH     = ..\..\diskh
  90. DHLIB     = ..\..\devhelp
  91. ADDLIB    = ..\..\addcalls
  92. APMLIB    = ..\..\..\thinkpad\dockii\apmcalls
  93. DOCLIB    = ..\..\..\thinkpad\dockii\doccalls
  94. CDROM     = ..\os2cdrom
  95. RMLIB     = ..\..\..\resource\rmcalls
  96. RSM_H     = ..\..\..\resource\rsm_h
  97.  
  98. #
  99. # Since the compiler/linker and other tools use environment
  100. # variables ( INCLUDE, LIB, etc ) in order to get the location of files,
  101. # the following line will check the environment for the LIFE of the
  102. # makefile and will be specific to this set of instructions. All MAKEFILES
  103. # are requested to use this format to insure that they are using the correct
  104. # level of files and tools.
  105. #
  106.  
  107. !if [set INCLUDE=.;$(H);$(DISKH);$(CDROM);$(RSM_H);$(ADDLIB);$(APMLIB);$(DOCLIB);$(DOSINC);$(INIT);$(TASK);$(INC)] || \
  108.     [set LIB=$(LIB);$(DHLIB);$(RMLIB);$(ADDLIB);$(DISKH);$(ADDLIB);$(APMLIB);$(DOCLIB)] || [set PATH=$(TOOLSPATH)]
  109. !endif
  110.  
  111.  
  112. #
  113. # Compiler/tools Macros
  114. #
  115.  
  116. AS=masm
  117. CC=cl
  118. IMPLIB=implib
  119. IPF=ipfc
  120. LIBUTIL=lib
  121. LINK=link
  122. MAPSYM=mapsym
  123. RC=rc
  124.  
  125. #
  126. # Compiler and Linker Options
  127. #
  128.  
  129. AFLAGS = -MX -T -Z $(ENV)
  130. AINC   = -I. -I$(DOSINC) -I$(INIT) -I$(INC)
  131. CFLAGS = /c /Zp /G2s /Answ /nologo $(ENV)
  132. DFLAGS = /c /Fc /Zp /G2s /Answ /nologo $(ENV) -DDEBUG -DPRE_RELEASE
  133. LFLAGS = /map /nod /noe /exepack /packd /a:16 /far
  134. RFLAGS = -r
  135.  
  136. LIBS  =  $(DHLIB)\dhcalls.lib $(ADDLIB)\addcalls.lib $(LIB)\libh.lib $(RMLIB)\rmcalls.lib $(APMLIB)\apmcalls.lib
  137. DEF02 =  IBMIDECD.def
  138.  
  139. #****************************************************************************
  140. # Set up Macros that will contain all the different dependencies for the
  141. # executables and dlls etc. that are generated.
  142. #****************************************************************************
  143.  
  144. #
  145. # OBJ files
  146. #
  147. #
  148. OBJ1 =  ATAPISEG.OBJ ATAPIISM.OBJ ATAPIOSM.OBJ ATAPIGEN.OBJ
  149. OBJ2 =  ATAPIORB.OBJ ATAPINIT.OBJ ATAPIDAT.OBJ PRINTF.OBJ
  150. OBJ3 =  DPRINTF.OBJ
  151. OBJ4 =  ..\..\libobj\afuldiv.obj ..\..\libobj\afulrem.obj \
  152.         ..\..\libobj\anlmul.obj  ..\..\libobj\anuldiv.obj \
  153.         ..\..\libobj\anulrem.obj ..\..\libobj\anfalshl.obj \
  154.         ..\..\libobj\anlshl.obj
  155.  
  156. #
  157. #       LIST Files
  158. #
  159. LIST=   ATAPISEG.LST ATAPIISM.LST ATAPIOSM.LST ATAPIGEN.LST ATAPIDAT.LST \
  160.         ATAPIORB.LST ATAPINIT.LST PRINTF.LST   DPRINTF.LST
  161.  
  162. OBJS = $(OBJ1) $(OBJ4) $(OBJ2)
  163.  
  164. #****************************************************************************
  165. #   Setup the inference rules for compiling and assembling source code to
  166. #   obejct code.
  167. #****************************************************************************
  168.  
  169.  
  170. .asm.obj:
  171.         $(AS) $(AFLAGS) $(AINC) $*.asm;
  172.  
  173. .asm.lst:
  174.         $(AS) -l -n $(AFLAGS) $(AINC) $*.asm;
  175.  
  176. .c.obj:
  177.         $(CC) $(CFLAGS) $(CINC) $*.c
  178.  
  179. .c.lst:
  180.         $(CC) $(CFLAGS) /Fc $(CINC) $*.c
  181.         copy $*.cod $*.lst
  182.         del $*.cod
  183.  
  184.  
  185. #****************************************************************************
  186. #   Target Information
  187. #****************************************************************************
  188. #
  189. # This is a very important step. The following small amount of code MUST
  190. # NOT be removed from the program. The following directive will do
  191. # dependency checking every time this component is built UNLESS the
  192. # following is performed:
  193. #                    A specific tag is used -- ie. all
  194. #
  195. # This allows the developer as well as the B & I group to perform incremental
  196. # build with a degree of accuracy that has not been used before.
  197. # There are some instances where certain types of INCLUDE files must be
  198. # created first. This type of format will allow the developer to require
  199. # that file to be created first. In order to achive that, all that has to
  200. # be done is to make the DEPEND.MAK tag have your required target. Below is
  201. # an example:
  202. #
  203. #    depend.mak:   { your file(s) } dephold
  204. #
  205. # Please DON'T remove the following line
  206. #
  207.  
  208. !include      "$(H)\version.mak"
  209.  
  210. #
  211. # Should be the default tag for all general processing
  212. #
  213.  
  214. all:   IBMIDECD.FLT
  215.  
  216. list: $(LIST)
  217.  
  218. clean:
  219.         if exist *.lnk  del *.lnk
  220.         if exist *.obj  del *.obj
  221.         if exist *.map  del *.map
  222.         if exist *.old  del *.old
  223.         if exist *.lst  del *.lst
  224.         if exist *.lsd  del *.lsd
  225.         if exist *.sym  del *.sym
  226.         if exist *.sys  del *.sys
  227.         if exist *.add  del *.add
  228.         if exist *.flt  del *.flt
  229.         if exist *.tff  del *.tff
  230.         if exist *.def  del *.def
  231.         if exist *.mak  del *.mak
  232.  
  233.  
  234. #*****************************************************************************
  235. #   Specific Description Block Information
  236. #*****************************************************************************
  237.  
  238. # This section would only be for specific direction as to how to create
  239. # unique elements that are necessary to the build process. This could
  240. # be compiling or assembling, creation of DEF files and other unique
  241. # files.
  242. # If all compiler and assembly rules are the same, use an inference rule to
  243. # perform the compilation.
  244. #
  245.  
  246. IBMIDECD.FLT:  $(OBJS) $(LIBS) makefile
  247.         rem Create DEF file <<$(DEF02)
  248. LIBRARY IBMIDECD
  249.  
  250. DESCRIPTION "$(FILEVER)  Adapter Driver for ATAPI CD-ROMs"
  251.  
  252. PROTMODE
  253.  
  254. SEGMENTS
  255.  DDHeader       CLASS 'DATA'
  256.  LIBDATA        CLASS 'DATA'
  257.  _DATA          CLASS 'DATA'
  258.  CONST          CLASS 'CONST'
  259.  _BSS           CLASS 'BSS'
  260.  'Code'         CLASS 'CODE' IOPL
  261.  LIBCODE        CLASS 'CODE' IOPL
  262.  _TEXT          CLASS 'CODE' IOPL
  263.  'RMCode'       CLASS 'CODE' IOPL
  264.  
  265. <<keep
  266.         $(LINK) $(LFLAGS) @<<$(@B).lnk
  267. $(OBJ1) +
  268. $(OBJ4) +
  269. $(OBJ2)
  270. $*.FLT
  271. $*.map
  272. $(LIBS)
  273. $(DEF02)
  274. <<keep
  275.              $(MAPSYM) $*.map
  276.  
  277. #****************************************************************************
  278.