home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / odtlktv4.zip / ODTLKT / TOOLKIT / BETA / SAMPLES / OPENDOC / PARTS / CNTNRPRT / CNTNRPRT.MAK < prev    next >
Text File  |  1995-12-15  |  6KB  |  167 lines

  1. #***************************************************************************
  2. #
  3. #  File Name   : CNTNRPTRT.MAK
  4. #
  5. #  Description : Makefile for the Container Part OpenDoc part handler class
  6. #
  7. #  Notes       : This makefile should be run from this sample's subdirectory.
  8. #
  9. #                Regarding the DEBUG macro statements:
  10. #                The file is shipped so that the build will not produce
  11. #                debug information ("DEBUG = /Ti-" is uncommented and
  12. #                "DEBUG = /T+" is commented out).  If you prefer to build
  13. #                with debug information, comment out the first DEBUG macro
  14. #                and uncomment the second one.
  15. #
  16. #  Entry Points: N/A
  17. #
  18. #       (C) COPYRIGHT International Business Machines Corp. 1995
  19. #       All Rights Reserved
  20. #       Licensed Materials - Property of IBM
  21. #
  22. #       US Government Users Restricted Rights - Use, duplication or
  23. #       disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  24. #
  25. #       DISCLAIMER OF WARRANTIES.  The following [enclosed] code is
  26. #       sample code created by IBM Corporation. This sample code is not
  27. #       part of any standard or IBM product and is provided to you solely
  28. #       for the purpose of assisting you in the development of your
  29. #       applications.  The code is provided "AS IS", without
  30. #       warranty of any kind.  IBM shall not be liable for any damages
  31. #       arising out of your use of the sample code, even if they have been
  32. #       advised of the possibility of such damages.
  33. #
  34. #***************************************************************************
  35.  
  36. #===========================================================================
  37. #  MACRO DEFINITIONS
  38. #===========================================================================
  39.  
  40. FILENAME = cntnrprt
  41. MRINAME  = cntmri
  42.  
  43. DEBUG    = /Ti- /DODDebug=0
  44. #DEBUG   = /Ti+ /DODDebug=1
  45.  
  46. PUBLIC      = ..\public
  47. PUBUTILS    = ..\..\pubutils
  48. INCLUDEPATH = .;$(PUBUTILS);$(PUBLIC)
  49.  
  50. #---------------------------------------------------------------------------
  51. #  XHLIST    is the list of .XH  files that need to be generated from the
  52. #            .IDL file.
  53. #  OBJLIST   is the list of .OBJ files that will be linked with your .DLL file.
  54. #---------------------------------------------------------------------------
  55.  
  56. XHLIST  = .\CntnrPrt.xh  $(PUBLIC)\CntnrPrt.xh  \
  57.           .\XFrmIter.xh  $(PUBLIC)\XFrmIter.xh  \
  58.           .\CNNotebk.xh  $(PUBLIC)\CNNotebk.xh
  59.  
  60. OBJLIST = .\$(FILENAME).obj \
  61.           .\XFrmIter.obj \
  62.           .\CNNotebk.obj \
  63.           .\cntstub.obj \
  64.           .\ordcoll.obj \
  65.           .\partinfo.obj \
  66.           .\debug.obj
  67.  
  68. MRILIST = .\cntstub.obj
  69.  
  70. #===========================================================================
  71. #  PSEUDOTARGETS:
  72. #===========================================================================
  73.  
  74. all: $(PUBUTILS)\pubutils.lib $(XHLIST) $(FILENAME).dll \
  75.      $(PUBLIC)\$(FILENAME).lib $(MRINAME).dll cnt.hlp
  76.  
  77. .SUFFIXES:
  78. .SUFFIXES: .idl .xh .cpp .hpp .rc .c .lib .dll .obj
  79.  
  80. #===========================================================================
  81. #  INFERENCE RULES:
  82. #===========================================================================
  83.  
  84. .idl.xh:
  85.    sc -D _PLATFORM_OS2_ -I$(PUBLIC) "-sxh;xih;def" -p $(@B).idl
  86.    copy $(@B).idl $(PUBLIC)\$(@B).idl
  87.    copy $(@B).xh  $(PUBLIC)\$(@B).xh
  88.  
  89. .idl.cpp:
  90.    sc -D _PLATFORM_OS2_ -I$(PUBLIC) "-sxh;xih;xc" -p $(@B).idl
  91.  
  92. .cpp.obj:
  93.    icc.exe /Gm+ /Ge- /Tl- /Fd /Gd+ /I$(INCLUDEPATH) /Sp4 /Q /Fi /Si $(DEBUG) /N30 /C %s
  94.  
  95. #===========================================================================
  96. #  DESCRIPTION BLOCKS (TARGETS):
  97. #  Each .OBJ file should have its own description block with the right
  98. #  dependent(s).
  99. #===========================================================================
  100.  
  101. $(PUBUTILS)\pubutils.lib:
  102.    @echo **************************************************  & \
  103.     echo Cannot find $@  & \
  104.     echo **************************************************  & \
  105.     echo ****                                          ****  & \
  106.     echo ***   You need to make PUBUTILS before you     *** & \
  107.     echo ***          can build this sample             ***  & \
  108.     echo ****                                          ****  & \
  109.     echo **************************************************  & \
  110.     exit
  111.  
  112. $(FILENAME).obj: $*.cpp $*.h partinfo.h cntnrhlp.h cntnrprp.h
  113.  
  114. $(FILENAME).dll: \
  115.    $(OBJLIST) \
  116.    $(FILENAME).def
  117.    icc.exe @<<
  118. /Tl- /Fd /Ge- /Gd+ /Sp4 /Q /Fi /Si /Tdp
  119.  /N30 $(DEBUG)
  120.  /B" /de /pmtype:pm /nologo /nod /noi /noe /map /seg:512"
  121.  /Fe$*.dll
  122.  /Fm$*.map
  123.  $(OBJLIST)
  124.  somtk.lib
  125.  $(PUBUTILS)\pubutils.lib
  126.  os2386.lib
  127.  os2cmbsi.lib
  128.  opendoc.lib
  129.  $(FILENAME).def
  130. <<
  131.  
  132. $(PUBLIC)\$(FILENAME).lib: $(FILENAME).dll
  133.    @echo IMPLIB::Import library contruction
  134.    IMPLIB /NOLOGO $(PUBLIC)\$(FILENAME).lib $(FILENAME).dll
  135.  
  136. $(MRINAME).res: $*.rc  $*.h
  137.    rc -r -I $(INCLUDEPATH) $*.rc $@
  138.  
  139. $(MRINAME).dll: \
  140.    $(MRILIST) \
  141.    $(MRINAME).res \
  142.    $(MRINAME).def
  143.    icc.exe @<<
  144. /Tl- /Fd /Ge- /Gd+ /Sp4 /Q /Fi /Si /Tdp /Ti
  145.  /N30 $(DEBUG)
  146.  /B" /de /pmtype:pm /nologo /nod /noi /noe /map /seg:512"
  147.  /Fe$*.dll
  148.  /Fm$*.map
  149.  $(MRILIST)
  150.  os2cmbsi.lib
  151.  $(MRINAME).def
  152. <<
  153.    rc $*.res $*.dll
  154.  
  155. cnt.hlp: $*.ipf
  156.    ipfc $*.ipf
  157.  
  158. #---------------------------------------------------------------------------
  159. #  Remove build output
  160. #---------------------------------------------------------------------------
  161. CLEANUP:
  162.    @echo ***************************************************** & \
  163.     echo **  Cleaning Container part sample build output    ** & \
  164.     echo *****************************************************
  165.    -del *.x* *.dll *.map *.obj *.res >nul 2>&1
  166.    -if exist CSET2PRE del CSET2PRE /n >nul 2>&1 & rd CSET2PRE >nul 2>&1
  167.