#############################################################################
#
# The make process relies on the creation of DLL and library response file  #
# creation.  To control the location of object modules the following should #
# be defined:                                                               #
#                                                                           #
#     IMPOBJS - A list of object modules that should appear in the DLL      #
#               import library.                                             #
#                                                                           #
#        OBJS - If a DLL is build, this is a list of the object modules     #
#               that are linked into the DLL.  If building a library, this  #
#               is the list of object modules that goes into the library.   #
#                                                                           #
# The building of miscellaneous object modules and libraries is controlled  #
# by the list of files in the MISC variable.                                #
#                                                                           #
#############################################################################

#############################################################################
# Build the object module lists.                                            #
#############################################################################
OBJS =               \
        append1.obj  \
        append2.obj  \
        append3.obj  \
        assign.obj   \
        clone.obj    \
        compare1.obj \
        compare2.obj \
        contain.obj  \
        copy1.obj    \
        copy2.obj    \
        copy3.obj    \
        ctor1.obj    \
        ctor2.obj    \
        ctor3.obj    \
        ctor4.obj    \
        ctor5.obj    \
        ctor6.obj    \
        ctor7.obj    \
        ctor8.obj    \
        ctor9.obj    \
        ctor10.obj   \
        ctor11.obj   \
        ctor12.obj   \
        ctor13.obj   \
        ctor14.obj   \
        ctor15.obj   \
        find1.obj    \
        find2.obj    \
        find3.obj    \
        find4.obj    \
        fndfrst.obj  \
        fndfrstn.obj \
        fndlast.obj  \
        fndlastn.obj \
        hash.obj     \
        insert1.obj  \
        insert2.obj  \
        match.obj    \
        oprasgn1.obj \
        oprasgn2.obj \
        oprasgn3.obj \
        oprcall1.obj \
        oprcall2.obj \
        oprcall3.obj \
        oprcall4.obj \
        opreql.obj   \
        oprplus.obj  \
        prepend.obj  \
        regexp.obj   \
        replace.obj  \
        reserve.obj  \
        resize.obj   \
        rfind.obj    \
        status.obj   \
        stremove.obj \
        stringio.obj \
        strings.obj  \
        strip.obj    \
        substr1.obj  \
        substr2.obj  \
        uprlwr.obj

#############################################################################
# Configure the environment apprpriately.                                   #
#############################################################################
PCH = 1    # Use precompiled headers!!

!include rules.mak


#############################################################################
# Miscellaneous explicit rules.                                             #
#############################################################################
!if $(OS) == WIN16 && !$d(DLL) && ($(MODEL) == c || $(MODEL) == l)

EXCPTBUILD = $(CC) -m$(MODEL) -WDE -n$(OBJDIR) $?

append1.obj:  append1.cpp
        $(EXCPTBUILD)

append2.obj:  append2.cpp
        $(EXCPTBUILD)

append3.obj:  append3.cpp
        $(EXCPTBUILD)

assign.obj:   assign.cpp
        $(EXCPTBUILD)

clone.obj:    clone.cpp
        $(EXCPTBUILD)

compare1.obj: compare1.cpp
        $(EXCPTBUILD)

compare2.obj: compare2.cpp
        $(EXCPTBUILD)

copy1.obj:    copy1.cpp
        $(EXCPTBUILD)

copy2.obj:    copy2.cpp
        $(EXCPTBUILD)

copy3.obj:    copy3.cpp
        $(EXCPTBUILD)

ctor1.obj:    ctor1.cpp
        $(EXCPTBUILD)

ctor2.obj:    ctor2.cpp
        $(EXCPTBUILD)

ctor3.obj:    ctor3.cpp
        $(EXCPTBUILD)

ctor4.obj:    ctor4.cpp
        $(EXCPTBUILD)

ctor5.obj:    ctor5.cpp
        $(EXCPTBUILD)

ctor6.obj:    ctor6.cpp
        $(EXCPTBUILD)

ctor7.obj:    ctor7.cpp
        $(EXCPTBUILD)

ctor8.obj:    ctor8.cpp
        $(EXCPTBUILD)

ctor9.obj:    ctor9.cpp
        $(EXCPTBUILD)

ctor10.obj:    ctor10.cpp
        $(EXCPTBUILD)

ctor11.obj:    ctor11.cpp
        $(EXCPTBUILD)

ctor12.obj:    ctor12.cpp
        $(EXCPTBUILD)

ctor13.obj:    ctor13.cpp
        $(EXCPTBUILD)

ctor14.obj:    ctor14.cpp
        $(EXCPTBUILD)

ctor15.obj:    ctor15.cpp
        $(EXCPTBUILD)

find1.obj:    find1.cpp
        $(EXCPTBUILD)

find2.obj:    find2.cpp
        $(EXCPTBUILD)

find3.obj:    find3.cpp
        $(EXCPTBUILD)

find4.obj:    find4.cpp
        $(EXCPTBUILD)

fndfrst.obj:  fndfrst.cpp
        $(EXCPTBUILD)

fndfrstn.obj: fndfrstn.cpp
        $(EXCPTBUILD)

fndlast.obj:  fndlast.cpp
        $(EXCPTBUILD)

fndlastn.obj: fndlastn.cpp
        $(EXCPTBUILD)

hash.obj:     hash.cpp
        $(EXCPTBUILD)

insert1.obj:  insert1.cpp
        $(EXCPTBUILD)

insert2.obj:  insert2.cpp
        $(EXCPTBUILD)

oprasgn1.obj: oprasgn1.cpp
        $(EXCPTBUILD)

oprasgn2.obj: oprasgn2.cpp
        $(EXCPTBUILD)

oprasgn3.obj: oprasgn3.cpp
        $(EXCPTBUILD)

oprcall1.obj: oprcall1.cpp
        $(EXCPTBUILD)

oprcall2.obj: oprcall2.cpp
        $(EXCPTBUILD)

oprcall3.obj: oprcall3.cpp
        $(EXCPTBUILD)

oprcall4.obj: oprcall4.cpp
        $(EXCPTBUILD)

opreql.obj:   opreql.cpp
        $(EXCPTBUILD)

oprplus.obj:  oprplus.cpp
        $(EXCPTBUILD)

prepend.obj:  prepend.cpp
        $(EXCPTBUILD)

regexp.obj: regexp.cpp
        $(EXCPTBUILD)

stremove.obj: stremove.cpp
        $(EXCPTBUILD)

replace.obj:  replace.cpp
        $(EXCPTBUILD)

reserve.obj:  reserve.cpp
        $(EXCPTBUILD)

resize.obj:   resize.cpp
        $(EXCPTBUILD)

rfind.obj:    rfind.cpp
        $(EXCPTBUILD)

status.obj:   status.cpp
        $(EXCPTBUILD)

strings.obj:  strings.cpp
        $(EXCPTBUILD)

stringio.obj: stringio.cpp
        $(EXCPTBUILD)

strip.obj:    strip.cpp
        $(EXCPTBUILD)
substr1.obj:  substr1.cpp
        $(EXCPTBUILD)

substr2.obj:  substr2.cpp
        $(EXCPTBUILD)

uprlwr.obj:   uprlwr.cpp
        $(EXCPTBUILD)

!endif

