XCOMM 
XCOMM (c) Copyright 1989, 1990, 1991, 1992, 1993 OPEN SOFTWARE FOUNDATION, INC. 
XCOMM ALL RIGHTS RESERVED 
XCOMM 
XCOMM 
XCOMM Motif Release 1.2.2
XCOMM 
XCOMM   $RCSfile: Imakefile,v $ $Revision: 1.9.16.6 $ $Date: 92/11/24 18:58:08 $
#define DoNormalLib NormalLibXm
#define DoSharedLib SharedLibXm
#define DoDebugLib DebugLibXm
#define DoProfileLib ProfileLibXm
#include <Library.tmpl>

#ifdef RsArchitecture
REQUIREDLIBS = $(TOOLKITSRC)/libXt.a $(XLIBSRC)/libX11.a
#endif

#define IHaveSubdirs
SUBDIRS = BC_1_1

    INCLUDES = -I. -I$(INCLUDESRC) -I$(MINCLUDESRC)

INSTALLFLAGS = $(INSTINCFLAGS)

    LINTLIBS = $(LINTXLIB) $(LINTXTOOL)

SRCH_DEFINES = -DLIBDIR=\"$(LIBDIR)\" -DINCDIR=\"$(INCDIR)\"
BINDINGS_DEF = -DXMBINDDIR_FALLBACK=\"$(USRLIBDIR)/Xm/bindings\"

HEADERS = ArrowB.h      ArrowBG.h       ArrowBGP.h      ArrowBP.h \
        BulletinB.h     BulletinBP.h    CacheP.h        CascadeB.h \
        CascadeBG.h     CascadeBGP.h    CascadeBP.h     Command.h \
        CommandP.h      CutPaste.h      CutPasteP.h     DialogS.h \
        DialogSP.h      DialogSEP.h     DragC.h         DragCP.h \
        DragDrop.h      DragIcon.h      DragIconP.h     DragOverS.h \
        DragOverSP.h    DropTransP.h    DropSMgr.h      DropSMgrP.h \
        DropTrans.h     DrawingA.h      DrawingAP.h     DrawnB.h \
        DrawnBP.h       FileSB.h        FileSBP.h       Form.h \
        FormP.h         Frame.h         FrameP.h        Label.h \
        LabelG.h        LabelGP.h       LabelP.h        List.h \
        ListP.h         MainW.h         MainWP.h        MenuShell.h \
        MenuShellP.h    MessageB.h      MessageBP.h     PanedW.h \
        PanedWP.h       PushB.h         PushBG.h        PushBGP.h \
        PushBP.h        RCUtilsP.h      RowColumn.h     RowColumnP.h \
        SashP.h         Scale.h         ScaleP.h        ScrollBar.h \
        ScrollBarP.h    ScrolledW.h     ScrolledWP.h    SelectioB.h \
        SelectioBP.h    SeparatoG.h     SeparatoGP.h    Separator.h \
        SeparatorP.h    TextF.h         TextFP.h        TextFSelP.h \
        TextSelP.h      Text.h          TextInP.h       TextOutP.h \
        TextP.h         TextStrSoP.h    ToggleB.h       ToggleBG.h \
        ToggleBGP.h     ToggleBP.h      Xm.h            XmP.h \
        BaseClassP.h    ManagerP.h      PrimitiveP.h    GadgetP.h \
        XmStrDefs.h     VaSimpleP.h     VirtKeys.h      VirtKeysP.h \
        ExtObjectP.h    Display.h       DisplayP.h      Screen.h \
        ScreenP.h       ShellEP.h       VendorS.h       VendorSP.h \
        VendorSEP.h     WorldP.h        DesktopP.h      AtomMgr.h \
        Protocols.h     ProtocolsP.h    MwmUtil.h       TransltnsP.h \
        RepType.h       XmosP.h         DrawP.h         TearOffP.h \
        TearOffBP.h     MenuUtilP.h     XmAll.h

SRCS1 = ArrowB.c        ArrowBG.c       BulletinB.c     CallbackI.c \
        CascadeB.c      CascadeBG.c     Command.c       CutPaste.c \
        Dest.c          DialogS.c       DialogSE.c      DragBS.c \
        DragC.c         DragOverS.c     DragICC.c       DragIcon.c \
        DragUnder.c     DrawingA.c      DrawnB.c        DropSMgr.c \
        DropSMgrI.c     DropTrans.c     ExtObject.c     FileSB.c \
        Form.c          Frame.c         Gadget.c        GadgetUtil.c \
        GeoUtils.c      ImageCache.c    Label.c         LabelG.c \
        List.c          MainW.c         MapEvents.c     MenuShell.c \
        MenuUtil.c      MessageB.c      PanedW.c        PushB.c \
        PushBG.c        ReadImage.c     Region.c        ResConvert.c \
        ResInd.c        RowColumn.c     RCUtils.c       Sash.c \
        Scale.c         ScrollBar.c     ScrolledW.c     SelectioB.c \
        SeparatoG.c     Separator.c     Simple.c        Text.c \
        TextIn.c        TextOut.c       TextStrSo.c     TextSel.c \
        ToggleB.c       ToggleBG.c      TrackLoc.c      UniqueEvnt.c \
        VaSimple.c      VirtKeys.c      Visual.c        XmString.c \
        XmStrDefs.c     TextF.c         TextFSel.c      AtomMgr.c \
        Cache.c         Protocols.c     Primitive.c     Manager.c \
        Traversal.c     TravAct.c       TraversalI.c    BaseClass.c \
        Desktop.c       Messages.c      Transltns.c     RepType.c \
        Xmos.c          Draw.c          TearOff.c       TearOffB.c \
        XmIm.c          GMUtils.c       Display.c       Screen.c \
        ShellE.c        VendorS.c       VendorSE.c      World.c \
        Obsolete.c      StrObsolete.c

OBJS1 = ArrowB.o        ArrowBG.o       BulletinB.o     CallbackI.o \
        CascadeB.o      CascadeBG.o     Command.o       CutPaste.o \
        Dest.o          DragBS.o        DragC.o         DragICC.o \
        DragIcon.o      DragOverS.o     DragUnder.o     DrawingA.o \
        DrawnB.o        DropSMgr.o      DropSMgrI.o     DropTrans.o \
        FileSB.o        Form.o          Frame.o         Gadget.o \
        GadgetUtil.o    GeoUtils.o      ImageCache.o    Label.o \
        LabelG.o        List.o          MainW.o         MapEvents.o \
        MenuShell.o     MenuUtil.o      MessageB.o      PanedW.o \
        PushB.o         PushBG.o        ReadImage.o     Region.o \
        ResConvert.o    ResInd.o        RowColumn.o     RCUtils.o \
        Sash.o          Scale.o         ScrollBar.o     ScrolledW.o \
        SelectioB.o     SeparatoG.o     Separator.o     Simple.o \
        Text.o          TextIn.o        TextOut.o       TextStrSo.o \
        TextSel.o       ToggleB.o       ToggleBG.o      UniqueEvnt.o \
        Visual.o        XmString.o      XmStrDefs.o     TextF.o \
        TextFSel.o      AtomMgr.o       Cache.o         TrackLoc.o \
        Protocols.o     XmIm.o          GMUtils.o

OBJS2 = Primitive.o     Manager.o       DialogS.o       DialogSE.o \
        Traversal.o     TravAct.o       TraversalI.o    VaSimple.o \
        ExtObject.o     BaseClass.o     VirtKeys.o      Desktop.o \
        Messages.o      Transltns.o     RepType.o       Xmos.o \
        Draw.o          TearOff.o       TearOffB.o      Display.o \
        Screen.o        ShellE.o        VendorS.o       VendorSE.o \
        World.o         Obsolete.o      StrObsolete.o


    SRCS = $(SRCS1)
    OBJS = $(OBJS1) $(OBJS2)


LibraryObjectRule()

SpecialLibObjectRule(Xmos.o,$(ICONFIGFILES),$(SRCH_DEFINES))
SpecialLibObjectRule(VirtKeys.o,$(ICONFIGFILES),$(BINDINGS_DEF))

#if DoSharedLib
#if DoNormalLib
SharedLibraryTarget(Xm,$(SOXMREV),$(OBJS),shared,..)
#else
SharedLibraryTarget(Xm,$(SOXMREV),$(OBJS),.,.)
#endif
InstallSharedLibrary(Xm,$(SOXMREV),$(USRLIBDIR))
#endif
#if DoNormalLib
NormalLibraryTarget(Xm,$(OBJS))
InstallLibrary(Xm,$(USRLIBDIR))
#endif
#if DoProfileLib
ProfiledLibraryTarget(Xm,$(OBJS))
InstallLibrary(Xm_p,$(USRLIBDIR))
#endif
#if DoDebugLib
DebuggedLibraryTarget(Xm,$(OBJS))
InstallLibrary(Xm_d,$(USRLIBDIR))
#endif

LintLibraryTarget(Xm,$(SRCS))
InstallLintLibrary(Xm,$(LINTLIBDIR))

BuildIncludes($(HEADERS),Xm,..)

InstallMultiple($(HEADERS),$(USRINCDIR)/Xm)

DependTarget()

NormalLintTarget($(SRCS))

#ifdef UseVista
VistaMapRule(libXm.M,libXm.a)
#endif

/*
 * Certain architectures have a bug that produces a bad
 * shared library if Obsolete.o is included.
 */

#if SharedLibXm && defined(BugAffectingSharedXm)
Obsolete.o:
	_DebuggedObjCompile($(_NOOP_))
	_ProfiledObjCompile($(_NOOP_))
	$(MV) Obsolete.c Obsolete.c~
	echo "static char _obs_str[] =\"Obsolete.c not supported\";" > Obsolete.c
	_SharedObjCompile($(_NOOP_))
	$(MV) Obsolete.c~ Obsolete.c
	_NormalObjCompile($(_NOOP_))
#endif
