#*******************************************************************************
#* SAMPLE PROJECT: lancelot Makefile for Windows                               *
#*                                                                             *
#* COPYRIGHT:                                                                  *
#* ----------                                                                  *
#* Copyright (C) International Business Machines Corp., 1992,1996.             *
#*                                                                             *
#* DISCLAIMER OF WARRANTIES:                                                   *
#* -------------------------                                                   *
#* The following [enclosed] code is sample code created by IBM                 *
#* Corporation. This sample code is not part of any standard IBM product       *
#* and is provided to you solely for the purpose of assisting you in the       *
#* development of your applications.  The code is provided "AS IS",            *
#* without warranty of any kind.  IBM shall not be liable for any damages      *
#* arising out of your use of the sample code, even if they have been          *
#* advised of the possibility of such damages.                                 *
#*                                                                             *
#*******************************************************************************

# Make file assumptions:
#    - Environment variable INCLUDE contains paths to:
#       IBM Compiler target_directory\include;
#       IBM Developer's Toolkit target_directory include paths
#    - Environment variable LIB contains paths to:
#       IBM Compiler target_directory\lib;
#       IBM Developer's Toolkit target_directory lib paths
#    - Current directory contains source files. Originals are in:
#        IBM Compiler target_directory\samples\ioc\lancelot
#    - current directory will be used to store:
#        object, executable, and resource files
#
# RTF versus IPF:
#    - This makefile by default uses RTP source files to create RTF help.
#      By specifying USE_IPF=1, the makefile will use IPF sources files
#      to create IPF help.  Example: nmake USE_IPF=1 /a

# --- Tool defintions ---
ERASE=ERASE
GCPPC=ICC
GLINK=ICC
GRC=IRC
GRCV=IRCCNV
GIPFC=IPFC
GHCW=HCW
GIPFCVIEW=IVIEW
GIMAGE=IBMPCNV

# --- Tool flags ---
ICLCPPOPTS=/Gm+ /Gd+ /Gh+ /Ti+ /Fb+ /Ft- /Q+
!IFDEF USE_IPF
ICLCPPOPTS=/Gm+ /Gd+ /Gh+ /Ti+ /Fb+ /Ft- /Q+ /DUSE_IPF
!ENDIF
GCPPFLAGS=$(LOCALOPTS) $(ICLCPPOPTS)
GCPPLFLAGS=/Tdp /B"/pmtype:pm /debug /browse"
GPERFOBJ=cppwpa3.obj
GRCFLAGS=-DIC_WIN
GRCVFLAGS=
GIPFCFLAGS=/q
GHCWFLAGS=/c /e
GIMAGEFLAGS=

# --- Body ---
all:  lancelot.inf lancelot.exe lanchelp.hlp

lancelot.exe:  lancelot.obj lmainwin.obj linfowin.obj lperswin.obj \
               linfonb.obj lcnrobj.obj lpagectl.obj lgoodies.obj \
               lperswdm.obj lgeneric.obj ldbase.obj ldbqry.obj \
               lgenl.obj lacct.obj lbadge.obj lskill.obj lstatus.obj \
               lproject.obj ltask.obj lprdinfo.obj ltimec.obj ltimepie.obj \
               lancelot.res
      $(GLINK) $(GCPPLFLAGS) $(GCPPFLAGS) /Fe"lancelot.exe" \
               lancelot.obj lmainwin.obj linfowin.obj lperswin.obj \
               linfonb.obj lcnrobj.obj lpagectl.obj lgoodies.obj \
               lperswdm.obj lgeneric.obj ldbase.obj ldbqry.obj \
               lgenl.obj lacct.obj lbadge.obj lskill.obj lstatus.obj \
               lproject.obj ltask.obj lprdinfo.obj ltimec.obj ltimepie.obj \
               $(GPERFOBJ) lancelot.res

lancelot.obj: lancelot.cpp lancelot.h
      $(GCPPC) /C+ $(GCPPFLAGS) lancelot.cpp

lmainwin.obj: lmainwin.cpp lmainwin.hpp lancelot.h
      $(GCPPC) /C+ $(GCPPFLAGS) lmainwin.cpp

linfowin.obj: linfowin.cpp linfowin.hpp lancelot.h
      $(GCPPC) /C+ $(GCPPFLAGS) linfowin.cpp

lperswin.obj: lperswin.cpp lperswin.hpp lancelot.h
      $(GCPPC) /C+ $(GCPPFLAGS) lperswin.cpp

linfonb.obj: linfonb.cpp linfonb.hpp lancelot.h
      $(GCPPC) /C+ $(GCPPFLAGS) linfonb.cpp

lcnrobj.obj: lcnrobj.cpp lcnrobj.hpp lancelot.h
      $(GCPPC) /C+ $(GCPPFLAGS) lcnrobj.cpp

lpagectl.obj: lpagectl.cpp lpagectl.hpp lancelot.h
      $(GCPPC) /C+ $(GCPPFLAGS) lpagectl.cpp

lgoodies.obj: lgoodies.cpp lgoodies.hpp lancelot.h
      $(GCPPC) /C+ $(GCPPFLAGS) lgoodies.cpp

lperswdm.obj: lperswdm.cpp lperswdm.hpp lancelot.h
      $(GCPPC) /C+ $(GCPPFLAGS) lperswdm.cpp

lgeneric.obj: lgeneric.cpp lgeneric.hpp lancelot.h
      $(GCPPC) /C+ $(GCPPFLAGS) lgeneric.cpp

ldbase.obj: ldbase.cpp ldbase.hpp lancelot.h
      $(GCPPC) /C+ $(GCPPFLAGS) ldbase.cpp

ldbqry.obj: ldbqry.cpp ldbqry.hpp lancelot.h
      $(GCPPC) /C+ $(GCPPFLAGS) ldbqry.cpp

lgenl.obj: lgenl.cpp lgenl.hpp lancelot.h
      $(GCPPC) /C+ $(GCPPFLAGS) lgenl.cpp

lacct.obj: lacct.cpp lacct.hpp lancelot.h
      $(GCPPC) /C+ $(GCPPFLAGS) lacct.cpp

lbadge.obj: lbadge.cpp lbadge.hpp lancelot.h
      $(GCPPC) /C+ $(GCPPFLAGS) lbadge.cpp

lskill.obj: lskill.cpp lskill.hpp lancelot.h
      $(GCPPC) /C+ $(GCPPFLAGS) lskill.cpp

lstatus.obj: lstatus.cpp lstatus.hpp lancelot.h
      $(GCPPC) /C+ $(GCPPFLAGS) lstatus.cpp

lproject.obj: lproject.cpp lproject.hpp lancelot.h
      $(GCPPC) /C+ $(GCPPFLAGS) lproject.cpp

ltask.obj: ltask.cpp ltask.hpp lancelot.h
      $(GCPPC) /C+ $(GCPPFLAGS) ltask.cpp

lprdinfo.obj: lprdinfo.cpp lprdinfo.hpp
      $(GCPPC) /C+ $(GCPPFLAGS) lprdinfo.cpp

ltimec.obj: ltimec.cpp ltimec.hpp lancelot.h
      $(GCPPC) /C+ $(GCPPFLAGS) ltimec.cpp

ltimepie.obj: ltimepie.cpp ltimepie.hpp lancelot.h
      $(GCPPC) /C+ $(GCPPFLAGS) ltimepie.cpp

lancelot.res: lancelot.rc lancelot.h \
              lancelot.ico query.ico query2.ico person1.ico person2.ico \
              person3.ico person4.ico personu.ico add.ico change.ico \
              help.ico next.ico previous.ico remove.ico save.ico undo.ico \
              arrange.bmp boot.bmp create.bmp deselall.bmp opendeta.bmp \
              openicon.bmp opentree.bmp selall.bmp sortasc.bmp sortdesc.bmp \
              transfer.bmp
      $(GRC) $(GRCFLAGS) lancelot.rc

lancelot.rc:  lancelot.rcx
      $(GRCV) $(GRCVFLAGS) lancelot.rcx lancelot.rc

lancelot.ico:  lancelot.icx
      $(GIMAGE) -I $(GIMAGEFLAGS) lancelot.icx lancelot.ico

query.ico:     query.icx
      $(GIMAGE) -I $(GIMAGEFLAGS) query.icx query.ico

query2.ico:    query2.icx
      $(GIMAGE) -I $(GIMAGEFLAGS) query2.icx query2.ico

person1.ico:   person1.icx
      $(GIMAGE) -I $(GIMAGEFLAGS) person1.icx person1.ico

person2.ico:   person2.icx
      $(GIMAGE) -I $(GIMAGEFLAGS) person2.icx person2.ico

person3.ico:   person3.icx
      $(GIMAGE) -I $(GIMAGEFLAGS) person3.icx person3.ico

person4.ico:   person4.icx
      $(GIMAGE) -I $(GIMAGEFLAGS) person4.icx person4.ico

personu.ico:   personu.icx
      $(GIMAGE) -I $(GIMAGEFLAGS) personu.icx personu.ico

add.ico:       add.icx
      $(GIMAGE) -I $(GIMAGEFLAGS) add.icx add.ico

change.ico:    change.icx
      $(GIMAGE) -I $(GIMAGEFLAGS) change.icx change.ico

help.ico:      help.icx
      $(GIMAGE) -I $(GIMAGEFLAGS) help.icx help.ico

next.ico:      next.icx
      $(GIMAGE) -I $(GIMAGEFLAGS) next.icx next.ico

previous.ico:  previous.icx
      $(GIMAGE) -I $(GIMAGEFLAGS) previous.icx previous.ico

remove.ico:    remove.icx
      $(GIMAGE) -I $(GIMAGEFLAGS) remove.icx remove.ico

save.ico:      save.icx
      $(GIMAGE) -I $(GIMAGEFLAGS) save.icx save.ico

undo.ico:      undo.icx
      $(GIMAGE) -I $(GIMAGEFLAGS) undo.icx undo.ico

lancelot.inf:  lancelot.ipf
      $(GIPFC) $(GIPFCFLAGS) /inf lancelot.ipf
      start $(GIPFCVIEW) lancelot.inf

!IFNDEF USE_IPF
lanchelp.hlp:  lanchelp.hpj lanchelp.rtf
      $(GHCW) $(GHCWFLAGS) lanchelp.hpj
!ENDIF

!IFDEF USE_IPF
lanchelp.hlp:  lanchelp.ipf
      $(GIPFC) $(GIPFCFLAGS) lanchelp.ipf
!ENDIF


# --- Cleanup ---
clean:
       -$(ERASE) lancelot.exe
       -$(ERASE) lancelot.res
#       -$(ERASE) lancelot.rc
       -$(ERASE) lacct.obj
       -$(ERASE) lancelot.obj
       -$(ERASE) lbadge.obj
       -$(ERASE) lcnrobj.obj
       -$(ERASE) ldbase.obj
       -$(ERASE) ldbqry.obj
       -$(ERASE) lgeneric.obj
       -$(ERASE) lgenl.obj
       -$(ERASE) lgoodies.obj
       -$(ERASE) linfonb.obj
       -$(ERASE) linfowin.obj
       -$(ERASE) lmainwin.obj
       -$(ERASE) lpagectl.obj
       -$(ERASE) lperswdm.obj
       -$(ERASE) lperswin.obj
       -$(ERASE) lprdinfo.obj
       -$(ERASE) lproject.obj
       -$(ERASE) lskill.obj
       -$(ERASE) lstatus.obj
       -$(ERASE) ltask.obj
       -$(ERASE) lprdinfo.obj
       -$(ERASE) ltimec.obj
       -$(ERASE) ltimepie.obj

       -$(ERASE) lacct.pdb
       -$(ERASE) lancelot.pdb
       -$(ERASE) lbadge.pdb
       -$(ERASE) lcnrobj.pdb
       -$(ERASE) ldbase.pdb
       -$(ERASE) ldbqry.pdb
       -$(ERASE) lgeneric.pdb
       -$(ERASE) lgenl.pdb
       -$(ERASE) lgoodies.pdb
       -$(ERASE) linfonb.pdb
       -$(ERASE) linfowin.pdb
       -$(ERASE) lmainwin.pdb
       -$(ERASE) lpagectl.pdb
       -$(ERASE) lperswdm.pdb
       -$(ERASE) lperswin.pdb
       -$(ERASE) lprdinfo.pdb
       -$(ERASE) lproject.pdb
       -$(ERASE) lskill.pdb
       -$(ERASE) lstatus.pdb
       -$(ERASE) ltask.pdb
       -$(ERASE) ltimec.pdb
       -$(ERASE) ltimepie.pdb

#       -$(ERASE) add.ico
#       -$(ERASE) change.ico
#       -$(ERASE) help.ico
#       -$(ERASE) lancelot.ico
#       -$(ERASE) next.ico
#       -$(ERASE) person1.ico
#       -$(ERASE) person2.ico
#       -$(ERASE) person3.ico
#       -$(ERASE) person4.ico
#       -$(ERASE) personu.ico
#       -$(ERASE) previous.ico
#       -$(ERASE) query.ico
#       -$(ERASE) query2.ico
#       -$(ERASE) remove.ico
#       -$(ERASE) save.ico
#       -$(ERASE) undo.ico

       -$(ERASE) lanchelp.hlp
       -$(ERASE) lancelot.inf

