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

  1. #***********************************************************************
  2. #
  3. #  File Name  :  TTAPE1.MAK
  4. #
  5. #  Description:  Makefile for the TickerTape OpenDoc part handler.
  6. #
  7. #  Notes      :  This makefile should be run in 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. #      (C) COPYRIGHT International Business Machines Corp. 1995
  17. #      All Rights Reserved
  18. #      Licensed Materials - Property of IBM
  19. #
  20. #      US Government Users Restricted Rights - Use, duplication or
  21. #      disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  22. #
  23. #      DISCLAIMER OF WARRANTIES.  The following [enclosed] code is
  24. #      sample code created by IBM Corporation. This sample code is not
  25. #      part of any standard or IBM product and is provided to you solely
  26. #      for the purpose of assisting you in the development of your
  27. #      applications.  The code is provided "AS IS", without
  28. #      warranty of any kind.  IBM shall not be liable for any damages
  29. #      arising out of your use of the sample code, even if they have
  30. #      been advised of the possibility of such damages.
  31. #
  32. #***********************************************************************
  33.  
  34. #===========================================================================
  35. #  MACRO DEFINITIONS
  36. #===========================================================================
  37.  
  38. PARENT   = cntnrprt
  39. FILENAME = ttape1
  40. FILENAME2 = textdata
  41.  
  42. DEBUG = /Ti-
  43. # DEBUG = /Ti+
  44.  
  45. BASEPATH    = ..\..\..\..
  46. BETAPATH    = $(BASEPATH)\BETA
  47. PUBLIC      = ..\public
  48. BETAPUBLIC  = $(BETAPATH)\samples\opendoc\parts\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. #  PARENTLIB is the list of .LIB files generated by your parent(s) that will
  55. #            be linked with your .DLL file.
  56. #  Note:     You must comment out the definition of the PARENTLIB macro if
  57. #            you are subclassing from the ODPart class.  This means that no
  58. #            no parent library file(s) will be linked with your .DLL file.
  59. #---------------------------------------------------------------------------
  60.  
  61. XHLIST  = $(BETAPUBLIC)\$(PARENT).xh $(FILENAME).xh $(PUBLIC)\$(FILENAME).xh
  62.  
  63. OBJLIST = $(FILENAME).obj $(FILENAME2).obj
  64.  
  65. PARENTLIB = $(BETAPUBLIC)\$(PARENT).lib
  66.  
  67. #===========================================================================
  68. #  PSEUDOTARGETS:
  69. #===========================================================================
  70.  
  71. all: $(XHLIST) $(FILENAME).dll $(PUBLIC)\$(FILENAME).lib
  72.  
  73. .SUFFIXES:
  74. .SUFFIXES: .idl .xh .cpp .hpp .rc .c .lib .dll .obj
  75.  
  76. #===========================================================================
  77. #  INFERENCE RULES:
  78. #===========================================================================
  79.  
  80. .idl.xh:
  81.    sc -D _PLATFORM_OS2_ -I$(BETAPUBLIC) "-sxh;xih;def" -S70000 -p $(@B).idl
  82.    copy $(@B).idl $(PUBLIC)\$(@B).idl
  83.    copy $(@B).xh  $(PUBLIC)\$(@B).xh
  84.  
  85. .idl.cpp:
  86.    sc -D _PLATFORM_OS2_ -I$(BETAPUBLIC) "-sxh;xih;xc" -S70000 -p $(@B).idl
  87.  
  88. .cpp.obj:
  89.    icc.exe /Gm+ /Ge- /Tl- /Fd /Gd+ /I$(BETAPUBLIC) /Sp4 /Q /Fi /Si $(DEBUG) /N30 /C %s
  90.    copy $(@B).hpp $(PUBLIC)\$(@B).hpp
  91.  
  92. #===========================================================================
  93. #  DESCRIPTION BLOCKS (TARGETS):
  94. #  Each .OBJ file should have its own description block with the right
  95. #  dependent(s).
  96. #===========================================================================
  97.  
  98. $(BETAPUBLIC)\$(PARENT).xh:
  99.    @echo **************************************************  & \
  100.     echo **************************************************  & \
  101.     echo ****                                          ****  & \
  102.     echo ***     $(BETAPUBLIC)\$(PARENT).xh not found!       *** & \
  103.     echo ***                                            ***  & \
  104.     echo ***   You need to make $(PARENT) before you     *** & \
  105.     echo ***          can build this sample             ***  & \
  106.     echo ****                                          ****  & \
  107.     echo **************************************************  & \
  108.     exit
  109.  
  110. $(FILENAME).obj: $(FILENAME).cpp $(FILENAME).hpp
  111.  
  112. $(FILENAME).res: $(FILENAME).rc  $(FILENAME).hpp $(FILENAME).bmp
  113.    rc -r -I $(BETAPUBLIC) $(FILENAME).rc $@
  114.  
  115. $(FILENAME).dll: \
  116.    $(OBJLIST) \
  117.    $*.res \
  118.    $(PARENTLIB) \
  119.    $(FILENAME).def
  120.    icc.exe @<<
  121. /Tl- /Fd /Ge- /Gd+ /Sp4 /Q /Fi /Si
  122.  /N30 $(DEBUG)
  123.  /B" /de /pmtype:pm /nologo /nod /noi /noe /map"
  124.  /Fe$*.dll
  125.  /Fm$*.map
  126.  $(OBJLIST)
  127.  somtk.lib
  128.  os2386.lib
  129.  os2cmbsi.lib
  130.  opendoc.lib
  131.  $(PARENTLIB)
  132.  $(FILENAME).def
  133. <<
  134.    rc $*.res $*.dll
  135.  
  136. $(PUBLIC)\$(FILENAME).lib: $(FILENAME).dll
  137.    @echo IMPLIB::Import library contruction
  138.    IMPLIB /NOLOGO $(FILENAME).lib $(FILENAME).dll
  139.    copy $(FILENAME).lib $(PUBLIC)\$(FILENAME).lib
  140.  
  141. #---------------------------------------------------------------------------
  142. #  Remove build output
  143. #---------------------------------------------------------------------------
  144. CLEANUP:
  145.    @echo **************************************** & \
  146.     echo **  Clean this sample's build output  ** & \
  147.     echo ****************************************
  148.    -del *.def *.x* *.dll *.map *.obj *.res >nul 2>&1
  149.    -if exist CSET2PRE del CSET2PRE /n >nul 2>&1 & rd CSET2PRE >nul 2>&1
  150.