home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / cset21v6.zip / MMPM2TK / TK / ADMCT / MAKEFILE < prev    next >
Text File  |  1993-04-13  |  4KB  |  161 lines

  1. # SCCSID = @(#)makefile 13.8 92/04/23
  2. # SCCSID = @(#)makefile 13.8 92/04/23
  3. #################################################################################
  4. #                                        #
  5. # Makefile for OS/2 MMPM/2 WAVEFORM Audio MCI Driver                #
  6. #                                        #
  7. #   Generates One DLL:                                #
  8. #          Audiomct.DLL - Ring 3 Audio MCI Driver                #
  9. #                                        #
  10. # Copyright (c) IBM Corporation  1991                        #
  11. # All Rights Reserved                                #
  12. #################################################################################
  13.  
  14.  
  15. .SUFFIXES:
  16. .SUFFIXES: .com .sys .exe .obj .mbj .asm .inc .def .lrf .crf .ref \
  17.            .lst .sym .map .c .h .lib .msg .txt .cvk
  18.  
  19. NAMEDLL=audiomct
  20.  
  21. #################################
  22. # Definitions for C Compiler
  23. # Compiler options (C Set/2 (Toronto))
  24. #    Q+  == Supress logo
  25. #    O+  == Optimize code (don't use with Ti)
  26. #    Ti  == Debug information
  27. #    Kp+ == Produce messages about unused function parameters
  28. #    Ss+ == Allow // comments
  29. #    Sm+ == Migration libraries (Microsoft C)
  30. #    Ge- == Build .DLL (default is .exe)
  31. #    Gm+ == Multithreaded libraries
  32. #    Gn+ == Do not generate default libraries in object
  33. #    Gs- == Do not remove stack probes (default)
  34. #    Kb- == Suppress basic diagnostic messages (default)
  35. #    Ki- == Suppress messages about uninitialized variables (default)
  36. #    Ms  == Use "system" calling conventions (as opposed to Mp optlink)
  37. #    Mp  =  Optlink (register passing convention ~10% faster)
  38. #    Fl+ == Produce listing
  39. #    L+  == Produce listing
  40. #    Ls+ == Include source in listing
  41. #    Fa+ == Produce assembler code
  42. #    Le+ == Expand macros
  43. #    La+ == Include offsets in structures in listing
  44. #    Sn+ == Provide DBCS support in runtime string routines
  45. #################################
  46.  
  47.  
  48. CCOMP  = icc
  49. CFLAGS = /C /Ge- /Gm+ /Gs- /Kb- /Ki- /Ms /Sm /Ss+ /Q /Mp /DINCL_32 /DTOOLKIT
  50. DEBUG  = /Ti+ /O-
  51.  
  52. #################################
  53. # Definitions for linker
  54. #################################
  55. LINK386=link386
  56. LFLAGS386= /batch /map /nod /noe /noi /map /packcode /packdata /exepack /align:16 /nologo
  57. MAP = mapsym $(NAMEDLL)
  58. LIBS386 = OS2386.LIB DDE4MBS.LIB mmpm2.lib
  59.  
  60.  
  61. #################################
  62. # Definitions for resource compiler
  63. #################################
  64.  
  65. RC = rc
  66.  
  67. #################################
  68. # Inference Rules
  69. #################################
  70. .c.obj:
  71.     $(CCOMP) $(CFLAGS) /Fo$(<R).obj $(C_LST) $(<R).c
  72.  
  73.  
  74. .rc.res:
  75.     $(RC) $(RINC) /r $(<B).rc
  76.  
  77. #################################
  78. # Object file lists
  79. #################################
  80.  
  81. DLLOBJS=admcdat.obj  \
  82.         admcinit.obj \
  83.         admcstat.obj \
  84.         admcrest.obj \
  85.         admcload.obj \
  86.         admcrecd.obj
  87.  
  88. DLLOBJS2=admcplay.obj \
  89.          audiosub.obj \
  90.          audiomcd.obj \
  91.          hhpheap.obj  \
  92.          checkmem.obj \
  93.          loadsubs.obj
  94.  
  95. DLLOBJS3=admcset.obj  \
  96.          admcconn.obj \
  97.          admccue.obj  \
  98.          admcsave.obj \
  99.          admccap.obj  \
  100.          strmsubs.obj \
  101.          admcopen.obj
  102.  
  103.  
  104. DLLOBJS4=admcedit.obj \
  105.          admcpst.obj  \
  106.          admccopy.obj \
  107.          admcseek.obj \
  108.          admcclos.obj \
  109.          admcini.obj
  110.  
  111. #################################
  112. # Target Descriptions
  113. #################################
  114. all: res dll
  115.  
  116. ##################################
  117. # audiomcd Target Descriptions
  118. ##################################
  119. dll: $(NAMEDLL).dll
  120. res: AUDIOMCD.res
  121.  
  122. $(NAMEDLL).dll:   $(DLLOBJS) $(DLLOBJS2) $(DLLOBJS3) $(DLLOBJS4) makefile $(NAMEDLL).lrf      \
  123.                   $(NAMEDLL).def
  124.           $(LINK386) $(LFLAGS386) @$(NAMEDLL).lrf
  125.           $(RC) AUDIOMCD.RES $*.DLL
  126.           $(MAP)
  127.  
  128.  
  129. AUDIOMCD.res: audiomcd.rc makefile
  130.     @echo $@ > con
  131.     $(RC) $(RINC) -r $*.rc $@
  132.  
  133.  
  134.  
  135. $(NAMEDLL).def: makefile
  136.     @echo Creating file <<$(@B).def
  137.  
  138.  LIBRARY AUDIOMCT INITINSTANCE
  139.  DATA MULTIPLE NONSHARED
  140.  SEGMENTS
  141.    SHR_SEG     CLASS 'FAR_DATA' SHARED
  142.    SHR_SEG_CONST CLASS 'FAR_DATA' SHARED
  143.    SHR_SEG_BSS     CLASS 'FAR_DATA' SHARED
  144.  
  145.  BASE = 0x1B2A0000
  146.  EXPORTS   mciDriverEntry
  147. <<keep
  148.  
  149. $(NAMEDLL).lrf: makefile
  150.     @echo Creating file <<$(@B).lrf
  151.  $(DLLOBJS) +
  152.  $(DLLOBJS2) +
  153.  $(DLLOBJS3) +
  154.  $(DLLOBJS4)
  155.  $(NAMEDLL).dll
  156.  $(NAMEDLL).map
  157.  $(LIBS386)
  158.  $(NAMEDLL).def;
  159. <<keep
  160.  
  161.