home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warptlk3.zip / TOOLKIT / SAMPLES / MM / ADMCT / ADMCT.MAK < prev    next >
Makefile  |  1995-08-24  |  5KB  |  164 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 /DINCL_OS2MM /I.
  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.          admcini2.obj \
  111.          connect.obj  \
  112.          spicalls.obj
  113.  
  114. #################################
  115. # Target Descriptions
  116. #################################
  117. all: res dll
  118.  
  119. ##################################
  120. # audiomcd Target Descriptions
  121. ##################################
  122. dll: $(NAMEDLL).dll
  123. res: AUDIOMCD.res
  124.  
  125. $(NAMEDLL).dll:   $(DLLOBJS) $(DLLOBJS2) $(DLLOBJS3) $(DLLOBJS4) admct.mak  $(NAMEDLL).lrf          \
  126.                   $(NAMEDLL).def
  127.                   $(LINK386) $(LFLAGS386) @$(NAMEDLL).lrf
  128.                   $(RC) AUDIOMCD.RES $*.DLL
  129.                   $(MAP)
  130.  
  131.  
  132. AUDIOMCD.res: audiomcd.rc admct.mak
  133.         @echo $@ > con
  134.         $(RC) $(RINC) -r $*.rc $@
  135.  
  136.  
  137.  
  138. $(NAMEDLL).def: admct.mak
  139.         @echo Creating file <<$(@B).def
  140.  
  141.  LIBRARY AUDIOMCT INITINSTANCE
  142.  DATA MULTIPLE NONSHARED
  143.  SEGMENTS
  144.    SHR_SEG       CLASS 'FAR_DATA' SHARED
  145.    SHR_SEG_CONST CLASS 'FAR_DATA' SHARED
  146.    SHR_SEG_BSS   CLASS 'FAR_DATA' SHARED
  147.  
  148.  BASE = 0x1B2A0000
  149.  EXPORTS   mciDriverEntry
  150. <<keep
  151.  
  152. $(NAMEDLL).lrf: admct.mak
  153.         @echo Creating file <<$(@B).lrf
  154.  $(DLLOBJS) +
  155.  $(DLLOBJS2) +
  156.  $(DLLOBJS3) +
  157.  $(DLLOBJS4)
  158.  $(NAMEDLL).dll
  159.  $(NAMEDLL).map
  160.  $(LIBS386)
  161.  $(NAMEDLL).def;
  162. <<keep
  163.  
  164.