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

  1. # SCCSID = @(#)makefile 6.6 92/05/04
  2.  
  3. #/***********************************************************************/
  4. #/*                                                                     */
  5. #/* Driver Name: MITFX001.ADD - Mitsumi CD-ROM Adapter Driver           */
  6. #/*              -----------------------------------------              */
  7. #/*                                                                     */
  8. #/* Source File Name: MAKEFILE                                          */
  9. #/*                                                                     */
  10. #/* Descriptive Name: MAKEFILE for the Mitsumi CD-ROM Adapter 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 Mitsumi Adapter Device Driver
  39. #
  40. #       You can optionally generate the listing files for the device driver.
  41. #
  42. #          make  [option]
  43. #
  44. #            option:     list         -> create listings
  45. #                        mitfx001.add -> create retail driver
  46. #
  47. #            default:  create mitfx001.add
  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. RMH    = ..\..\..\resource\rsm_h 
  87. LIB    = ..\..\..\..\..\lib
  88. RMLIB  = ..\..\..\resource\rmcalls
  89. TOOLSPATH = ..\..\..\..\..\tools
  90. DISKH  = ..\..\diskh
  91. DASDH  = ..\..\os2dasd
  92. DHLIB  = ..\..\devhelp
  93. CDROMH = ..\..\cdrom\os2cdrom
  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$(DASDH) -I$(H) -I$(DASDH) -I$(CDROMH) -I$(DISKH) -I$(MAKEDIR) -I$(RMH)
  129. #CFLAGS = /c /Zp /G2s /Answ  $(ENV)
  130. CFLAGS  = /c /Asfw /Zpl /Oti /W2 /G2s /I. /DTRACE /nologo
  131. #LFLAGS = /map /nod /exepack /packd /a:16 /far
  132. LFLAGS = /A:16 /M:FULL /NOD /NOL
  133. RFLAGS = -r
  134.  
  135. LIBS  =  $(LIB)\clibcep.lib $(RMLIB)\rmcalls.lib
  136. DEF02 =  mitfx001.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.  
  147. OBJ1 =  devhelp.obj
  148. OBJ2 =  cdinit.obj drvcmd.obj cdready.obj proccdb.obj cdasic.obj
  149. #OBJ3 =  ..\..\libobj\afuldiv.obj ..\..\libobj\afulrem.obj \
  150. #OBJ3 =  ..\..\libobj\anlmul.obj  ..\..\libobj\anuldiv.obj \
  151. #        ..\..\libobj\anulrem.obj
  152.  
  153.  
  154. #
  155. #       LIST Files
  156. #
  157. LIST=   devhelp.lst \
  158.         cdinit.lst drvcmd.lst cdready.lst proccdb.lst
  159.  
  160.  
  161. #OBJS = $(OBJ1) $(OBJ2) $(OBJ3)
  162. OBJS = $(OBJ1) $(OBJ2)
  163.  
  164. #****************************************************************************
  165. #   Setup the inference rules for compiling and assembling source code to
  166. #   object code.
  167. #****************************************************************************
  168.  
  169.  
  170. .asm.obj:
  171.         $(AS) $(AFLAGS) $(AINC) $*.asm;
  172.  
  173. .asm.mbj:
  174.         $(AS) $(AFLAGS) -DMMIOPH $(AINC) $*.asm $*.mbj;
  175.  
  176. .asm.lst:
  177.         $(AS) -l -n $(AFLAGS) $(AINC) $*.asm;
  178.  
  179. .c.obj:
  180.         $(CC) $(CFLAGS) $(CINC) $*.c
  181.  
  182. .c.lst:
  183.         $(CC) $(CFLAGS) /Fc $(CINC) $*.c
  184.         copy $*.cod $*.lst
  185.         del $*.cod
  186.  
  187.  
  188. #****************************************************************************
  189. #   Target Information
  190. #****************************************************************************
  191. #
  192. # This is a very important step. The following small amount of code MUST
  193. # NOT be removed from the program. The following directive will do
  194. # dependency checking every time this component is built UNLESS the
  195. # following is performed:
  196. #                    A specific tag is used -- ie. all
  197. #
  198. # This allows the developer as well as the B & I group to perform incremental
  199. # build with a degree of accuracy that has not been used before.
  200. # There are some instances where certain types of INCLUDE files must be
  201. # created first. This type of format will allow the developer to require
  202. # that file to be created first. In order to achive that, all that has to
  203. # be done is to make the DEPEND.MAK tag have your required target. Below is
  204. # an example:
  205. #
  206. #    depend.mak:   { your file(s) } dephold
  207. #
  208. # Please DON'T remove the following line
  209. #
  210.  
  211.  
  212. #
  213. # Should be the default tag for all general processing
  214. #
  215.  
  216. all:    mitfx001.add
  217.  
  218. list: $(LIST)
  219.  
  220. clean:
  221.         if exist *.lnk  del *.lnk
  222.         if exist *.obj  del *.obj
  223.         if exist *.mbj  del *.mbj
  224.         if exist *.map  del *.map
  225.         if exist *.old  del *.old
  226.         if exist *.lst  del *.lst
  227.         if exist *.lsd  del *.lsd
  228.         if exist *.sym  del *.sym
  229.         if exist *.sys  del *.sys
  230.         if exist *.dmd  del *.dmd
  231.         if exist *.tff  del *.tff
  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. mitfx001.add:  $(OBJS) $(DEF02) $(LIBS)  makefile
  247.         $(LINK) $(LFLAGS) @<<$(@B).lnk
  248. $(OBJ1) +
  249. $(OBJ2)
  250. $*.add
  251. $*.map
  252. $(LIBS)
  253. $(DEF02)
  254. <<keep
  255.              $(MAPSYM) $*.map
  256. #            trcust $*.tsf
  257.  
  258.  
  259.  
  260. #****************************************************************************
  261.