home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
xwplascr.zip
/
XWPL0208.ZIP
/
idl
/
makefile
< prev
next >
Wrap
Makefile
|
2002-08-08
|
7KB
|
216 lines
#
# makefile:
# makefile for IDL directory.
# For use with IBM NMAKE, which comes with the IBM compilers,
# the Developer's Toolkit, and the DDK.
#
# Called from: main makefile
#
# Input: ./*.IDL
#
# Output: ../include/classes/*.h
# ../include/classes/*.ih
# ../src/classes/*.c
#
# Say hello to yourself.
!if [@echo +++++ Entering $(MAKEDIR)]
!endif
!include ..\setup.in
# Define the suffixes for files which NMAKE will work on.
# .SUFFIXES is a reserved NMAKE keyword ("pseudotarget") for
# defining file extensions that NMAKE will recognize in inference
# rules.
.SUFFIXES: .idl .h .ih .def
# OUTPUTDIR specifies the directory where we will put the
# files created by this makefile.
OUTPUTDIR = $(PROJECT_BASE_DIR)\include\classes
# Some SOM variables. You won't have to change these.
SOMTEMP = $(TEMP)
!if [set SOMTMP=$(TEMP)] || \
[set SMTMP=$(SOMTEMP)] || \
[set SMEMIT=ih;h;c] || \
[set SMADDSTAR=1] || \
[set SMNOTC=1] || \
# [set SMINCLUDE=$(SMINCLUDE);$(TKBASE)\idl;$(TKBASE)\h;$(TKBASE)\SOM\include;.]
# hacked up SMINCLUDE to make sure idl\wps is before toolkit idl\
# V0.9.20 (2002-07-25) [umoeller]
[set SMINCLUDE=$(PROJECT_BASE_DIR)\idl\wps;$(SMINCLUDE);$(TKBASE)\idl;$(TKBASE)\SOM\include;.]
!endif
!if [@echo SMINCLUDE is $(SMINCLUDE)]
!endif
# SMTMP=$(SOMTEMP)
# SMEMIT=ih;h;c
# SMADDSTAR=1
# SMNOTC=1
# SMINCLUDE=$(TKBASE)\idl;$(TKBASE)\h;$(TKBASE)\SOM\include;.
# Specify the main target.
all: \
# added all the following from wps\ to avoid problems with warp 4 toolkit
# V0.9.20 (2002-07-31) [umoeller]
$(OUTPUTDIR)\wps\wpdataf.h \
$(OUTPUTDIR)\wps\wpdesk.h \
$(OUTPUTDIR)\wps\wpdisk.h \
$(OUTPUTDIR)\wps\wpfolder.h \
$(OUTPUTDIR)\wps\wpfsys.h \
$(OUTPUTDIR)\wps\wpkeybd.h \
$(OUTPUTDIR)\wps\wpmouse.h \
$(OUTPUTDIR)\wps\wpobject.h \
$(OUTPUTDIR)\wps\wppgm.h \
$(OUTPUTDIR)\wps\wppgmf.h \
$(OUTPUTDIR)\wps\wpshadow.h \
$(OUTPUTDIR)\wps\wpsound.h \
$(OUTPUTDIR)\wps\wpsystem.h \
$(OUTPUTDIR)\xcenter.h \
$(OUTPUTDIR)\xclslist.h \
$(OUTPUTDIR)\xdebug.h \
$(OUTPUTDIR)\xdebug_folder.h \
$(OUTPUTDIR)\xfdataf.h \
$(OUTPUTDIR)\xfdesk.h \
$(OUTPUTDIR)\xfdisk.h \
$(OUTPUTDIR)\xfldr.h \
$(OUTPUTDIR)\xfobj.h \
$(OUTPUTDIR)\xfont.h \
$(OUTPUTDIR)\xfontfile.h \
$(OUTPUTDIR)\xfontobj.h \
$(OUTPUTDIR)\xwppgmf.h \
$(OUTPUTDIR)\xfstart.h \
$(OUTPUTDIR)\xfsys.h \
$(OUTPUTDIR)\xfwps.h \
$(OUTPUTDIR)\xtrash.h \
$(OUTPUTDIR)\xtrashobj.h \
$(OUTPUTDIR)\xmmcdplay.h \
$(OUTPUTDIR)\xmmvolume.h \
$(OUTPUTDIR)\xwpadmin.h \
$(OUTPUTDIR)\xwpfsys.h \
$(OUTPUTDIR)\xwpkeybd.h \
$(OUTPUTDIR)\xwpmedia.h \
$(OUTPUTDIR)\xwpmouse.h \
$(OUTPUTDIR)\xwpnetwork.h \
$(OUTPUTDIR)\xwpnetsrv.h \
$(OUTPUTDIR)\xwppgm.h \
$(OUTPUTDIR)\xwpsetup.h \
$(OUTPUTDIR)\xwpscreen.h \
$(OUTPUTDIR)\xwpshadow.h \
$(OUTPUTDIR)\xwpsound.h \
$(OUTPUTDIR)\xwpstring.h \
$(OUTPUTDIR)\xwpvcard.h
@echo ----- Leaving $(MAKEDIR)
# Now define inference rules for what to do with certain file
# types, based on their file extension.
# The syntax we need here is ".fromext.toext".
# So whenever NMAKE encounters a .toext file, it
# executes what we specify here.
# The ugly {} brackets are some awkward syntax for specifying
# files in other directories.
RUNSC = sc -p -v -r -maddstar -mnoint -S128000 -C128000
# 1) inference rule for hacked-up IBM WPS classes
# -- emit .IH, .DEF files when .IDL has changed
{wps}.idl{$(OUTPUTDIR)\wps}.h:
# emit H, IH (include\classes):
$(RUNSC) -d$(OUTPUTDIR)\wps -sh;ih wps\$(@B).idl
# cleanup IH: this removes the ugly #pragma's for VAC++ 3.0
$(RUN_STRRPL) $(OUTPUTDIR)\wps\$(@B).ih "#pragma checkout(suspend)" " "
$(RUN_STRRPL) $(OUTPUTDIR)\wps\$(@B).ih "#pragma checkout(resume)" " "
# 2) inference rule for XWP classes
# -- emit .IH, .DEF files when .IDL has changed
.idl{$(OUTPUTDIR)}.h:
# emit H, IH (include\classes):
$(RUNSC) -d$(OUTPUTDIR) -sh;ih $(@B).idl
# emit C (src\classes):
$(RUNSC) -d$(PROJECT_BASE_DIR)\src\classes -sc $(@B).idl
# emit DEF (this dir):
$(RUNSC) -s def $(@B).idl
# cleanup IH: this removes the ugly #pragma's for VAC++ 3.0
$(RUN_STRRPL) $(OUTPUTDIR)\$(@B).ih "#pragma checkout(suspend)" " "
$(RUN_STRRPL) $(OUTPUTDIR)\$(@B).ih "#pragma checkout(resume)" " "
# Now define dependencies to recreate the .H, .IH etc. files
# using the SOM inference rule above.
# Special macros used here: $(@B) is the current target w/out ext.
$(OUTPUTDIR)\xcenter.h: $(@B).idl
$(OUTPUTDIR)\xclslist.h: $(@B).idl
$(OUTPUTDIR)\xdebug.h: $(@B).idl
$(OUTPUTDIR)\xdebug_folder.h: $(@B).idl
$(OUTPUTDIR)\xfdataf.h: $(@B).idl wps\wpdataf.idl
$(OUTPUTDIR)\xfdesk.h: $(@B).idl wps\wpdesk.idl
$(OUTPUTDIR)\xfdisk.h: $(@B).idl wps\wpdisk.idl
$(OUTPUTDIR)\xfldr.h: $(@B).idl wps\wpfolder.idl
$(OUTPUTDIR)\xfobj.h: $(@B).idl wps\wpobject.idl
$(OUTPUTDIR)\xfont.h: $(@B).idl wps\wpfolder.idl
$(OUTPUTDIR)\xfontfile.h: $(@B).idl wps\wpdataf.idl
$(OUTPUTDIR)\xfontobj.h: $(@B).idl
$(OUTPUTDIR)\xfstart.h: $(@B).idl xfldr.idl
$(OUTPUTDIR)\xfsys.h: $(@B).idl wps\wpsystem.idl
$(OUTPUTDIR)\xfwps.h: $(@B).idl wps\wpsystem.idl
$(OUTPUTDIR)\xtrash.h: $(@B).idl wps\wpfolder.idl
$(OUTPUTDIR)\xtrashobj.h: $(@B).idl
$(OUTPUTDIR)\xmmcdplay.h: $(@B).idl
$(OUTPUTDIR)\xmmvolume.h: $(@B).idl
$(OUTPUTDIR)\xwpfsys.h: $(@B).idl wps\wpfsys.idl
$(OUTPUTDIR)\xwpadmin.h: $(@B).idl
$(OUTPUTDIR)\xwpkeybd.h: $(@B).idl wps\wpkeybd.idl
$(OUTPUTDIR)\xwpmedia.h: $(@B).idl
$(OUTPUTDIR)\xwpmouse.h: $(@B).idl wps\wpmouse.idl
$(OUTPUTDIR)\xwpnetwork.h: $(@B).idl
$(OUTPUTDIR)\xwpnetsrv.h: $(@B).idl
$(OUTPUTDIR)\xwppgm.h: $(@B).idl wps\wppgm.idl
$(OUTPUTDIR)\xwppgmf.h: $(@B).idl wps\wppgmf.idl
$(OUTPUTDIR)\xwpscreen.h: $(@B).idl
$(OUTPUTDIR)\xwpsetup.h: $(@B).idl
$(OUTPUTDIR)\xwpshadow.h: $(@B).idl wps\wpshadow.idl
$(OUTPUTDIR)\xwpsound.h: $(@B).idl wps\wpsound.idl
$(OUTPUTDIR)\xwpstring.h: $(@B).idl
$(OUTPUTDIR)\xwpvcard.h: $(@B).idl