XCOMM
XCOMM place to build the InterViews library
XCOMM

#ifdef InObjectCodeDir

#if BuildIV_2_6
#define IV_2_6Srcs $(IV_2_6)$(SLASH)*.$(CCSUFFIX)
#else
#define IV_2_6Srcs /**/
#endif

#if BuildRPCClasses
#define DispatchSrcs $(DISPATCH)$(SLASH)*.$(CCSUFFIX)
#else
#define DispatchSrcs \							@@\
    $(DISPATCH)/dispatcher.$(CCSUFFIX)\					@@\
    $(DISPATCH)/iohandler.$(CCSUFFIX)
#endif

INTERVIEWS = $(SRC)/../InterViews
IV_2_6	   = $(SRC)/../IV-2_6
IV_X11	   = $(SRC)/../IV-X11
IV_LOOK	   = $(SRC)/../IV-look
DISPATCH   = $(SRC)/../Dispatch
OS	   = $(SRC)/../OS
TIFF	   = $(SRC)/../TIFF
SRCS	   = \
	$(INTERVIEWS)$(SLASH)*.$(CCSUFFIX)\
	IV_2_6Srcs\
	$(IV_X11)$(SLASH)*.$(CCSUFFIX)\
	$(IV_LOOK)$(SLASH)*.$(CCSUFFIX)\
	DispatchSrcs\
	$(OS)$(SLASH)*.$(CCSUFFIX)
	/* TIFF not included because it can't use the same flags */
LIB	   = IV
VERSION	   = 3.0

LIBPATHS   = -DIV_LIBALL='"$(ABSLIBALLDIR)"' -DX_LIBDIR='"$(XLIBDIR)"'

MakeLibrary($(LIB),$(VERSION))

#define InterViewsObj(file) InterViewsObjFlags(file,NullParameter)
#define InterViewsObjFlags(file,f) MakeObjectRule(file,$(INTERVIEWS)/file,f)

InterViewsObj(action)
InterViewsObj(aggr)
InterViewsObj(align)
InterViewsObjFlags(arrcomp,$(OPTIMIZE_CCFLAGS))
InterViewsObj(background)
InterViewsObj(border)
InterViewsObjFlags(box,$(OPTIMIZE_CCFLAGS))
InterViewsObj(center)
InterViewsObj(character)
InterViewsObjFlags(composition,$(OPTIMIZE_CCFLAGS))
InterViewsObj(compositor)
InterViewsObj(deck)
InterViewsObj(discretion)
InterViewsObj(fixedspan)
InterViewsObj(geometry)
InterViewsObj(glue)
InterViewsObj(glyph)
InterViewsObj(group)
InterViewsObj(handler)
InterViewsObj(hit)
InterViewsObj(image)
InterViewsObj(label)
InterViewsObj(layout)
InterViewsObj(listener)
InterViewsObj(lrmarker)
InterViewsObj(margin)
InterViewsObj(monoglyph)
InterViewsObj(page)
InterViewsObj(patch)
InterViewsObj(printer)
InterViewsObjFlags(psfont,-Dps_metrics_dir='"$(PSFONTDIR)"')
InterViewsObj(ptrhandler)
InterViewsObj(regexp)
InterViewsObj(resource)
InterViewsObj(rule)
InterViewsObj(sensor)
InterViewsObjFlags(session,$(LIBPATHS))
InterViewsObj(shadow)
InterViewsObj(shapeof)
InterViewsObjFlags(simpcomp,$(OPTIMIZE_CCFLAGS))
InterViewsObj(space)
InterViewsObj(stencil)
InterViewsObj(strut)
InterViewsObjFlags(style,$(OPTIMIZE_CCFLAGS))
InterViewsObj(superpose)
InterViewsObjFlags(transformer,$(OPTIMIZE_CCFLAGS))
InterViewsObj(target)
InterViewsObjFlags(texcomp,$(OPTIMIZE_CCFLAGS))
InterViewsObjFlags(tile,$(OPTIMIZE_CCFLAGS))
InterViewsObjFlags(tiff,$(OPTIMIZE_CCFLAGS))
InterViewsObj(tformsetter)
InterViewsObj(world)
InterViewsObj(xymarker)

#if BuildIV_2_6

#define IV_2_6Obj(file) IV_2_6ObjFlags(file,NullParameter)
#define IV_2_6ObjFlags(file,f) MakeObjectRule(file,$(IV_2_6)/file,f)

IV_2_6Obj(box2_6)
IV_2_6Obj(deck2_6)
IV_2_6Obj(glue2_6)
IV_2_6Obj(interactor)
IV_2_6Obj(message)
IV_2_6Obj(painter)
IV_2_6Obj(perspective)
IV_2_6Obj(rubband)
IV_2_6Obj(rubcurve)
IV_2_6Obj(rubgroup)
IV_2_6Obj(rubline)
IV_2_6Obj(rubrect)
IV_2_6Obj(rubverts)
IV_2_6Obj(scene)
IV_2_6Obj(shape)
IV_2_6Obj(subject)
IV_2_6ObjFlags(textbuffer,$(OPTIMIZE_CCFLAGS))
IV_2_6ObjFlags(textdisplay,$(OPTIMIZE_CCFLAGS))
IV_2_6ObjFlags(tray,$(OPTIMIZE_CCFLAGS))
IV_2_6Obj(viewport)
IV_2_6Obj(xinter)
IV_2_6ObjFlags(xpainter,$(OPTIMIZE_CCFLAGS))
IV_2_6Obj(xpattern)
IV_2_6Obj(adjuster2_6)
IV_2_6Obj(banner)
IV_2_6Obj(border2_6)
IV_2_6Obj(button2_6)
IV_2_6Obj(compeditor)
IV_2_6Obj(control)
IV_2_6Obj(dialog)
IV_2_6Obj(filebrowser)
IV_2_6Obj(filechooser)
IV_2_6Obj(frame)
IV_2_6Obj(matcheditor)
IV_2_6Obj(menu2_6)
IV_2_6Obj(panner2_6)
IV_2_6Obj(scrollbar2_6)
IV_2_6Obj(scroller2_6)
IV_2_6Obj(strbrowser)
IV_2_6Obj(strchooser)
IV_2_6Obj(streditor)
IV_2_6Obj(texteditor)

#endif

#define IV_X11Obj(file) IV_X11ObjFlags(file,NullParameter)
#define IV_X11ObjFlags(file,f) MakeObjectRule(file,$(IV_X11)/file,f)

IV_X11ObjFlags(xbitmap,$(OPTIMIZE_CCFLAGS))
IV_X11Obj(xbrush)
IV_X11ObjFlags(xcanvas,$(OPTIMIZE_CCFLAGS))
IV_X11Obj(xcolor)
IV_X11Obj(xcursor)
IV_X11Obj(xdisplay)
IV_X11Obj(xevent)
IV_X11ObjFlags(xfont,$(OPTIMIZE_CCFLAGS))
IV_X11Obj(xraster)
IV_X11Obj(xreqerr)
IV_X11ObjFlags(xwindow,$(OPTIMIZE_CCFLAGS))

#define IV_lookObj(file) IV_lookObjFlags(file,NullParameter)
#define IV_lookObjFlags(file,f) MakeObjectRule(file,$(IV_LOOK)/file,f)

IV_lookObj(adjustable)
IV_lookObj(adjuster)
IV_lookObj(bevel)
IV_lookObj(button)
IV_lookObj(choice)
IV_lookObj(field)
IV_lookObj(kit)
IV_lookObj(kitimpl)
IV_lookObj(menu)
IV_lookObj(mf_kit)
IV_lookObj(mono_kit)
IV_lookObjFlags(ol_glyph,$(OPTIMIZE_CCFLAGS))
IV_lookObj(ol_kit)
IV_lookObj(ol_style)
IV_lookObj(panner)
IV_lookObj(scroller)
IV_lookObj(telltale)

#define DispatchObj(file) DispatchObjFlags(file,NullParameter)
#define DispatchObjFlags(file,f) MakeObjectRule(file,$(DISPATCH)/file,f)

DispatchObjFlags(dispatcher,$(OPTIMIZE_CCFLAGS))
DispatchObj(iohandler)
#if BuildRPCClasses
DispatchObj(iostreamb)
DispatchObj(rpcbuf)
DispatchObj(rpchdr)
DispatchObj(rpcpeer)
DispatchObj(rpcreader)
DispatchObj(rpcregistry)
DispatchObj(rpcservice)
DispatchObj(rpcstream)
DispatchObj(rpcwriter)
#endif

#define OSObj(file) OSObjFlags(file,NullParameter)
#define OSObjFlags(file,f) MakeObjectRule(file,$(OS)/file,f)

OSObjFlags(directory,$(OPTIMIZE_CCFLAGS))
OSObj(file)
OSObj(host)
OSObj(listimpl)
OSObj(math)
OSObj(memory)
OSObjFlags(string,$(OPTIMIZE_CCFLAGS))
OSObj(ustring)

#include <InterViews/TIFF.def>
#define TIFFObj(file) TIFFObjFlags(file,NullParameter)
#define TIFFObjFlags(file,f)\
MakeTIFFCObjectRule(file,$(TIFF)/file,$(TIFF_OPTIMIZE_CFLAGS) f)

TIFFObjFlags(tif_fax3,-I.)
TIFFObj(tif_fax4)
TIFFObj(tif_ccittrle)
TIFFObj(tif_close)
TIFFObj(tif_compat)
TIFFObjFlags(tif_compress,$(TIFF_CPRESS_CDEFINES))
TIFFObj(tif_dir)
TIFFObj(tif_dumpmode)
TIFFObj(tif_error)
TIFFObj(tif_jpeg)
TIFFObj(tif_flush)
TIFFObj(tif_lzw)
TIFFObj(tif_open)
TIFFObj(tif_packbits)
TIFFObj(tif_print)
TIFFObj(tif_read)
TIFFObj(tif_swab)
TIFFObj(tif_strip)
TIFFObj(tif_thunder)
TIFFObj(tif_tile)
TIFFObj(tif_warning)
TIFFObj(tif_write)
TIFFObj(tif_next)

tif_fax3.o: g3states.h
g3states.h: $(TIFF)/mkg3states.c $(TIFF)/t4.h
	@$(RM) mkg3states
	$(TIFF_CDRIVER) $(TIFF_CLDFLAGS) -o mkg3states $(TIFF)/mkg3states.c
	./mkg3states > g3states.h
clean::
	$(RM) mkg3states g3states.h

#else

MakeInObjectCodeDir()

#endif
