home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / xwplascr.zip / XWPL0208.ZIP / idl / makefile < prev    next >
Makefile  |  2002-08-08  |  7KB  |  216 lines

  1. #
  2. # makefile:
  3. #       makefile for IDL directory.
  4. #       For use with IBM NMAKE, which comes with the IBM compilers,
  5. #       the Developer's Toolkit, and the DDK.
  6. #
  7. #       Called from:    main makefile
  8. #
  9. #       Input:          ./*.IDL
  10. #
  11. #       Output:         ../include/classes/*.h
  12. #                       ../include/classes/*.ih
  13. #                       ../src/classes/*.c
  14. #
  15.  
  16. # Say hello to yourself.
  17. !if [@echo +++++ Entering $(MAKEDIR)]
  18. !endif
  19.  
  20. !include ..\setup.in
  21.  
  22. # Define the suffixes for files which NMAKE will work on.
  23. # .SUFFIXES is a reserved NMAKE keyword ("pseudotarget") for
  24. # defining file extensions that NMAKE will recognize in inference
  25. # rules.
  26. .SUFFIXES: .idl .h .ih .def
  27.  
  28. # OUTPUTDIR specifies the directory where we will put the
  29. # files created by this makefile.
  30. OUTPUTDIR = $(PROJECT_BASE_DIR)\include\classes
  31.  
  32. # Some SOM variables. You won't have to change these.
  33. SOMTEMP = $(TEMP)
  34. !if [set SOMTMP=$(TEMP)] || \
  35.     [set SMTMP=$(SOMTEMP)] || \
  36.     [set SMEMIT=ih;h;c] || \
  37.     [set SMADDSTAR=1] || \
  38.     [set SMNOTC=1] || \
  39. #     [set SMINCLUDE=$(SMINCLUDE);$(TKBASE)\idl;$(TKBASE)\h;$(TKBASE)\SOM\include;.]
  40. #   hacked up SMINCLUDE to make sure idl\wps is before toolkit idl\
  41. #   V0.9.20 (2002-07-25) [umoeller]
  42.     [set SMINCLUDE=$(PROJECT_BASE_DIR)\idl\wps;$(SMINCLUDE);$(TKBASE)\idl;$(TKBASE)\SOM\include;.]
  43. !endif
  44.  
  45. !if [@echo    SMINCLUDE is $(SMINCLUDE)]
  46. !endif
  47.  
  48. # SMTMP=$(SOMTEMP)
  49. # SMEMIT=ih;h;c
  50. # SMADDSTAR=1
  51. # SMNOTC=1
  52. # SMINCLUDE=$(TKBASE)\idl;$(TKBASE)\h;$(TKBASE)\SOM\include;.
  53.  
  54. # Specify the main target.
  55.  
  56. all: \
  57. # added all the following from wps\ to avoid problems with warp 4 toolkit
  58. # V0.9.20 (2002-07-31) [umoeller]
  59.     $(OUTPUTDIR)\wps\wpdataf.h \
  60.     $(OUTPUTDIR)\wps\wpdesk.h \
  61.     $(OUTPUTDIR)\wps\wpdisk.h \
  62.     $(OUTPUTDIR)\wps\wpfolder.h \
  63.     $(OUTPUTDIR)\wps\wpfsys.h \
  64.     $(OUTPUTDIR)\wps\wpkeybd.h \
  65.     $(OUTPUTDIR)\wps\wpmouse.h \
  66.     $(OUTPUTDIR)\wps\wpobject.h \
  67.     $(OUTPUTDIR)\wps\wppgm.h \
  68.     $(OUTPUTDIR)\wps\wppgmf.h \
  69.     $(OUTPUTDIR)\wps\wpshadow.h \
  70.     $(OUTPUTDIR)\wps\wpsound.h \
  71.     $(OUTPUTDIR)\wps\wpsystem.h \
  72.     $(OUTPUTDIR)\xcenter.h \
  73.     $(OUTPUTDIR)\xclslist.h \
  74.     $(OUTPUTDIR)\xdebug.h \
  75.     $(OUTPUTDIR)\xdebug_folder.h \
  76.     $(OUTPUTDIR)\xfdataf.h \
  77.     $(OUTPUTDIR)\xfdesk.h \
  78.     $(OUTPUTDIR)\xfdisk.h \
  79.     $(OUTPUTDIR)\xfldr.h \
  80.     $(OUTPUTDIR)\xfobj.h \
  81.     $(OUTPUTDIR)\xfont.h \
  82.     $(OUTPUTDIR)\xfontfile.h \
  83.     $(OUTPUTDIR)\xfontobj.h \
  84.     $(OUTPUTDIR)\xwppgmf.h \
  85.     $(OUTPUTDIR)\xfstart.h \
  86.     $(OUTPUTDIR)\xfsys.h \
  87.     $(OUTPUTDIR)\xfwps.h \
  88.     $(OUTPUTDIR)\xtrash.h \
  89.     $(OUTPUTDIR)\xtrashobj.h \
  90.     $(OUTPUTDIR)\xmmcdplay.h \
  91.     $(OUTPUTDIR)\xmmvolume.h \
  92.     $(OUTPUTDIR)\xwpadmin.h \
  93.     $(OUTPUTDIR)\xwpfsys.h \
  94.     $(OUTPUTDIR)\xwpkeybd.h \
  95.     $(OUTPUTDIR)\xwpmedia.h \
  96.     $(OUTPUTDIR)\xwpmouse.h \
  97.     $(OUTPUTDIR)\xwpnetwork.h \
  98.     $(OUTPUTDIR)\xwpnetsrv.h \
  99.     $(OUTPUTDIR)\xwppgm.h \
  100.     $(OUTPUTDIR)\xwpsetup.h \
  101.     $(OUTPUTDIR)\xwpscreen.h \
  102.     $(OUTPUTDIR)\xwpshadow.h \
  103.     $(OUTPUTDIR)\xwpsound.h \
  104.     $(OUTPUTDIR)\xwpstring.h \
  105.     $(OUTPUTDIR)\xwpvcard.h
  106.     @echo ----- Leaving $(MAKEDIR)
  107.  
  108. # Now define inference rules for what to do with certain file
  109. # types, based on their file extension.
  110. # The syntax we need here is ".fromext.toext".
  111. # So whenever NMAKE encounters a .toext file, it
  112. # executes what we specify here.
  113. # The ugly {} brackets are some awkward syntax for specifying
  114. # files in other directories.
  115.  
  116. RUNSC = sc -p -v -r -maddstar -mnoint -S128000 -C128000
  117.  
  118. # 1) inference rule for hacked-up IBM WPS classes
  119.  
  120. # -- emit .IH, .DEF files when .IDL has changed
  121. {wps}.idl{$(OUTPUTDIR)\wps}.h:
  122. # emit H, IH (include\classes):
  123.         $(RUNSC) -d$(OUTPUTDIR)\wps -sh;ih wps\$(@B).idl
  124. # cleanup IH: this removes the ugly #pragma's for VAC++ 3.0
  125.         $(RUN_STRRPL) $(OUTPUTDIR)\wps\$(@B).ih "#pragma checkout(suspend)" " "
  126.         $(RUN_STRRPL) $(OUTPUTDIR)\wps\$(@B).ih "#pragma checkout(resume)" " "
  127.  
  128. # 2) inference rule for XWP classes
  129.  
  130. # -- emit .IH, .DEF files when .IDL has changed
  131. .idl{$(OUTPUTDIR)}.h:
  132. # emit H, IH (include\classes):
  133.         $(RUNSC) -d$(OUTPUTDIR) -sh;ih $(@B).idl
  134. # emit C (src\classes):
  135.         $(RUNSC) -d$(PROJECT_BASE_DIR)\src\classes -sc $(@B).idl
  136. # emit DEF (this dir):
  137.         $(RUNSC) -s def $(@B).idl
  138. # cleanup IH: this removes the ugly #pragma's for VAC++ 3.0
  139.         $(RUN_STRRPL) $(OUTPUTDIR)\$(@B).ih "#pragma checkout(suspend)" " "
  140.         $(RUN_STRRPL) $(OUTPUTDIR)\$(@B).ih "#pragma checkout(resume)" " "
  141.  
  142. # Now define dependencies to recreate the .H, .IH etc. files
  143. # using the SOM inference rule above.
  144.  
  145. # Special macros used here: $(@B) is the current target w/out ext.
  146.  
  147. $(OUTPUTDIR)\xcenter.h:          $(@B).idl
  148.  
  149. $(OUTPUTDIR)\xclslist.h:         $(@B).idl
  150.  
  151. $(OUTPUTDIR)\xdebug.h:           $(@B).idl
  152.  
  153. $(OUTPUTDIR)\xdebug_folder.h:    $(@B).idl
  154.  
  155. $(OUTPUTDIR)\xfdataf.h:          $(@B).idl wps\wpdataf.idl
  156.  
  157. $(OUTPUTDIR)\xfdesk.h:           $(@B).idl wps\wpdesk.idl
  158.  
  159. $(OUTPUTDIR)\xfdisk.h:           $(@B).idl wps\wpdisk.idl
  160.  
  161. $(OUTPUTDIR)\xfldr.h:            $(@B).idl wps\wpfolder.idl
  162.  
  163. $(OUTPUTDIR)\xfobj.h:            $(@B).idl wps\wpobject.idl
  164.  
  165. $(OUTPUTDIR)\xfont.h:            $(@B).idl wps\wpfolder.idl
  166.  
  167. $(OUTPUTDIR)\xfontfile.h:        $(@B).idl wps\wpdataf.idl
  168.  
  169. $(OUTPUTDIR)\xfontobj.h:         $(@B).idl
  170.  
  171. $(OUTPUTDIR)\xfstart.h:          $(@B).idl xfldr.idl
  172.  
  173. $(OUTPUTDIR)\xfsys.h:            $(@B).idl wps\wpsystem.idl
  174.  
  175. $(OUTPUTDIR)\xfwps.h:            $(@B).idl wps\wpsystem.idl
  176.  
  177. $(OUTPUTDIR)\xtrash.h:           $(@B).idl wps\wpfolder.idl
  178.  
  179. $(OUTPUTDIR)\xtrashobj.h:        $(@B).idl
  180.  
  181. $(OUTPUTDIR)\xmmcdplay.h:        $(@B).idl
  182.  
  183. $(OUTPUTDIR)\xmmvolume.h:        $(@B).idl
  184.  
  185. $(OUTPUTDIR)\xwpfsys.h:          $(@B).idl wps\wpfsys.idl
  186.  
  187. $(OUTPUTDIR)\xwpadmin.h:         $(@B).idl
  188.  
  189. $(OUTPUTDIR)\xwpkeybd.h:         $(@B).idl wps\wpkeybd.idl
  190.  
  191. $(OUTPUTDIR)\xwpmedia.h:         $(@B).idl
  192.  
  193. $(OUTPUTDIR)\xwpmouse.h:         $(@B).idl wps\wpmouse.idl
  194.  
  195. $(OUTPUTDIR)\xwpnetwork.h:       $(@B).idl
  196.  
  197. $(OUTPUTDIR)\xwpnetsrv.h:        $(@B).idl
  198.  
  199. $(OUTPUTDIR)\xwppgm.h:           $(@B).idl wps\wppgm.idl
  200.  
  201. $(OUTPUTDIR)\xwppgmf.h:          $(@B).idl wps\wppgmf.idl
  202.  
  203. $(OUTPUTDIR)\xwpscreen.h:        $(@B).idl
  204.  
  205. $(OUTPUTDIR)\xwpsetup.h:         $(@B).idl
  206.  
  207. $(OUTPUTDIR)\xwpshadow.h:        $(@B).idl wps\wpshadow.idl
  208.  
  209. $(OUTPUTDIR)\xwpsound.h:         $(@B).idl wps\wpsound.idl
  210.  
  211. $(OUTPUTDIR)\xwpstring.h:        $(@B).idl
  212.  
  213. $(OUTPUTDIR)\xwpvcard.h:         $(@B).idl
  214.  
  215.  
  216.