XCOMM
XCOMM Imakefile for XmHTML
XCOMM
XCOMM (C)Copyright 1995-1997 Ripley Software Development
XCOMM All Rights Reserved
XCOMM
XCOMM This file is part of the XmHTML Widget Library.
XCOMM
XCOMM See the file LICENSE for the full copyright statement.
XCOMM

XCOMM Include the XmHTML configuration file
#include "../XmHTML.cf"

XCOMM No need to change anything below this line
XCOMM

XCOMM SGI requires a specification file for shared library that we don't have
XCOMM (Irix below 6.2)
#if defined(SGIArchitecture) && !SystemV4 && HasSharedLibraries
# undef SharedLibXmHTML
# undef NormalLibXmHTML
# define SharedLibXmHTML NO
# define NormalLibXmHTML YES
#endif

XCOMM Linux requires a specification file for a.out shared libraries that we
XCOMM don't have.
XCOMM
#if defined(LinuxArchitecture) && defined(UseElfFormat) && (UseElfFormat == NO)
# undef SharedLibXmHTML
# undef NormalLibXmHTML
# define SharedLibXmHTML NO
# define NormalLibXmHTML YES
#endif 

XMHTMLLIBDIR = XmHTMLLibDir
XMHTMLINCDIR = XmHTMLIncDir
      INCDIR = XmHTMLIncDir

XCOMM Get version numbering for shared libraries from the XmHTML include file
#define _LIBRARY
#include "XmHTML.h"

XCOMM I don't know whether or not X11R5/R4 image has got a Concat3.
XCOMM This works.
#if (ProjectX < 6)
SOXMHTMLLIBREV = XmHTMLVERSION./**/XmHTMLREVISION./**/XmHTMLUPDATE_LEVEL
#else
SOXMHTMLLIBREV = Concat3(XmHTMLVERSION.,XmHTMLREVISION.,XmHTMLUPDATE_LEVEL)
#endif

HEADERS = XmHTML.h XmHTMLP.h HTML.h Parser.h ParserP.h

BASESRCS = XmHTML.c fonts.c Parser.c callbacks.c format.c frames.c forms.c \
StringUtil.c parse.c paint.c numbers.c colors.c images.c error.c readBitmap.c \
readGIF.c readXPM.c readJPEG.c readPNG.c map.c XCC.c quantize.c LZWStream.c \
XmImage.c plc.c readGIFplc.c readJPEGplc.c readFLG.c strings.c

BASEOBJS = XmHTML.o fonts.o Parser.o callbacks.o format.o frames.o forms.o \
StringUtil.o parse.o paint.o numbers.o colors.o images.o error.o readBitmap.o \
readGIF.o readXPM.o readJPEG.o readPNG.o map.o XCC.o quantize.o LZWStream.o \
XmImage.o plc.o readGIFplc.o readJPEGplc.o readFLG.o strings.o

#if (IWantDebug)
DEBSRC = debug.c
DEBOBJ = debug.o
#else
DEBSRC =
DEBOBJ =
#endif

SRCS = $(BASESRCS) $(DEBSRC)
OBJS = $(BASEOBJS) $(DEBOBJ)

    INCLUDES = -I.
INSTALLFLAGS = $(INSTINCFLAGS)

#define DoSharedLib SharedLibXmHTML
#define DoNormalLib NormalLibXmHTML
#define DoDebugLib  DebugLibXmHTML

#if (ProjectX < 5)
STD_DEFINES = LibraryDefines
CDEBUGFLAGS = LibraryCDebugFlags
#else
# define LibName XmHTML
# define SoRev SOXMHTMLLIBREV
# include <Library.tmpl>
#endif

XCOMM No stuff required when X revision >= 6, Library.tmpl does it for us
XCOMM

#if (ProjectX < 6)
# if (ProjectX < 5)

#  if DoSharedLib
SharedLibraryObjectRule()
NormalSharedLibraryTarget(XmHTML, $(SOXMHTMLLIBREV),$(OBJS))
InstallSharedLibrary(XmHTML, $(SOXMHTMLLIBREV),$(XMHTMLIBDIR))
#   else /* No shared libs */
NormalLibraryObjectRule()
#  endif /* DoSharedLib */
NormalLibraryTarget(XmHTML,$(OBJS))
InstallLibrary(XmHTML,$(XPMLIBDIR))

#  if DoDebugLib
DebuggedLibObjCompile()
DebuggedLibraryTarget(XmHTML,$(OBJS))
#  endif /* DoDebugLib */

# else /* ProjectX == 5 */
LibraryObjectRule()

#  if DoSharedLib
SharedLibraryTarget(XmHTML,$(SOXMHTMLLIBREV),$(OBJS),shared,..)
InstallSharedLibrary(XmHTML, $(SOXMHTMLLIBREV),$(XMHTMLIBDIR))
#  endif /* DoSharedLib */

#  if DoNormalLib
NormalLibraryTarget(XmHTML,$(OBJS))
InstallLibrary(XmHTML,$(XMHTMLIBDIR))
#  endif /* DoNormalLib */

#  if DoDebugLib
DebuggedLibObjCompile()
DebuggedLibraryTarget(XmHTML,$(OBJS))
#  endif /* DoDebugLib */

# endif /* ProjectX < 5 */

InstallMultiple($(HEADERS),$(XMHTMLINCDIR))
BuildIncludes($(HEADERS),.,.)

#endif /* ProjectX < 6 */

DependTarget()

XCOMM Special rule for creating a distribution with the barebone makefiles
XCOMM
distclean:: clean 
	$(RM) libXmHTML.so.*
	$(RM) -r debugger shared unshared
	$(RM) core *.out make.world *.bak *.last *.auto stamp-includes
	$(CP) Makefile.org Makefile

