XCOMM  Imakefile for the Object Manager special widget library.
XCOMM  05-Sep-93, Doug Tody NOAO/IRAF.

X11IRAFDIR = ../../
#include <../../X11IRAF.tmpl>

 EXTRA_INCLUDES = -I../../include
  EXTRA_DEFINES = -D_NO_PROTO

# Hack to compile under SunPRO V4 on Solaris
#if defined (SunArchitecture) && HasSunC && OSMajorVersion >= 5
#if OSMinorVersion <= 5
#if !defined (i386Architecture)
        CCOPTIONS = -Xs
  EXTRA_LDOPTIONS = -xildoff
#endif
#endif
#endif

#if defined (PpcDarwinArchitecture) || defined (TenonServer)
        CCOPTIONS = -traditional-cpp
#endif

HEADERS = \
	Arrow.h ArrowP.h Board.h BoardP.h Button.h ButtonP.h \
	Common.h CommonP.h Converters.h DrawingArea.h DrawingAreaP.h \
	Frame.h FrameP.h Group.h GroupP.h Gterm.h GtermP.h HTML.h HTMLP.h \
	HTMLamp.h Icon.h IconP.h Label.h LabelP.h Layout.h LayoutP.h \
	MenuBar.h MenuBarP.h MultiList.h MultiListP.h RadioGrp.h RadioGrpP.h \
	RowCol.h RowColP.h Scrollbar.h ScrollbarP.h Slider2.h Slider2P.h \
	TabString.h Toggle.h ToggleP.h done.h inkstore.h laygram.h scroll.h \
	Tabs.h TabsP.h Gcs.h ListTree.h ListTreeP.h 

XRAW_HEADERS = \
	3d.h AllWidgets.h Arrow.h ArrowP.h AsciiSink.h AsciiSinkP.h \
	AsciiSrc.h AsciiSrcP.h AsciiText.h AsciiTextP.h Box.h BoxP.h \
	Cardinals.h Clock.h ClockP.h Command.h CommandP.h Container.h \
	ContainerP.h Dialog.h DialogP.h Form.h FormP.h Frame.h FrameP.h \
	Grip.h GripP.h Label.h LabelP.h List.h ListP.h Logo.h LogoP.h \
	Mailbox.h MailboxP.h MenuButtoP.h MenuButton.h Object.h Paned.h \
	PanedP.h Panner.h PannerP.h Porthole.h PortholeP.h Repeater.h \
	RepeaterP.h Reports.h Scrollbar.h ScrollbarP.h ScrolledTable.h \
	ScrolledTableP.h Separator.h SeparatorP.h Simple.h SimpleMenP.h \
	SimpleMenu.h SimpleP.h Sme.h SmeBSB.h SmeBSBP.h SmeLine.h SmeLineP.h \
	SmeP.h StripCharP.h StripChart.h Table.h Table3d.h TableP.h \
	TableUtil.h Template.h TemplateP.h Text.h TextP.h TextSink.h \
	TextSinkP.h TextSrc.h TextSrcP.h Toggle.h ToggleP.h Tree.h TreeP.h \
	Viewport.h ViewportP.h XawAll.h XawInit.h Xosdefs.h XrawInit.h \
	color.h xraw_table.h

SRCS = \
	Arrow.c Board.c Button.c Common.c DrawIString.c DrawString.c \
	DrawingArea.c Frame.c Group.c Gterm.c HTML-PSformat.c HTML.c \
	HTMLformat.c HTMLimages.c HTMLjot.c HTMLlists.c HTMLparse.c \
	HTMLwidgets.c Icon.c Label.c Layout.c MenuBar.c MultiList.c \
	RadioGrp.c RowCol.c Scrollbar.c Slider2.c Tablist2Tabs.c TextWidth.c \
	Toggle.c cvtLong.c iconutil.c laygram.c laylex.c scroll.c strnchr.c \
	Tabs.c Gcs.c ListTree.c Separator.c Table.c Table3d.c TableUtil.c \
	Container.c color.c 

OBJS = \
	Arrow.o Board.o Button.o Common.o DrawIString.o DrawString.o \
	DrawingArea.o Frame.o Group.o Gterm.o HTML-PSformat.o HTML.o \
	HTMLformat.o HTMLimages.o HTMLjot.o HTMLlists.o HTMLparse.o \
	HTMLwidgets.o Icon.o Label.o Layout.o MenuBar.o MultiList.o \
	RadioGrp.o RowCol.o Scrollbar.o Slider2.o Tablist2Tabs.o TextWidth.o \
	Toggle.o cvtLong.o iconutil.o laygram.o laylex.o scroll.o strnchr.o \
	Tabs.o Gcs.o ListTree.o Separator.o Table.o Table3d.o TableUtil.o \
	Container.o color.o 

#ifdef LexCmd
LEX=LexCmd
#endif
#ifdef YaccCmd
YACC=YaccCmd
#endif


depend:: laygram.c laylex.c
all:: laygram.c laylex.c

SubdirLibraryRule($(OBJS))
NormalLintTarget($(SRCS))
LintLibraryTarget(ar,$(SRCS))

# Turn off compiler warnings for the HTML and FWF widgets.
    FWFCFLAGS = $(CFLAGS) -c -w

HTML.o: HTML.c
	$(CC) $(FWFCFLAGS) HTML.c
HTML-PSformat.o: HTML-PSformat.c
	$(CC) $(FWFCFLAGS) HTML-PSformat.c
HTMLformat.o: HTMLformat.c
	$(CC) $(FWFCFLAGS) HTMLformat.c
HTMLimages.o: HTMLimages.c
	$(CC) $(FWFCFLAGS) HTMLimages.c
HTMLjot.o: HTMLjot.c
	$(CC) $(FWFCFLAGS) HTMLjot.c
HTMLlists.o: HTMLlists.c
	$(CC) $(FWFCFLAGS) HTMLlists.c
HTMLparse.o: HTMLparse.c
	$(CC) $(FWFCFLAGS) HTMLparse.c
HTMLwidgets.o: HTMLwidgets.c
	$(CC) $(FWFCFLAGS) HTMLwidgets.c


Arrow.o:
	$(CC) $(FWFCFLAGS) Arrow.c
Board.o:
	$(CC) $(FWFCFLAGS) Board.c
Button.o:
	$(CC) $(FWFCFLAGS) Button.c
Common.o:
	$(CC) $(FWFCFLAGS) Common.c
DrawIString.o:
	$(CC) $(FWFCFLAGS) DrawIString.c
DrawString.o:
	$(CC) $(FWFCFLAGS) DrawString.c
Frame.o:
	$(CC) $(FWFCFLAGS) Frame.c
Group.o:
	$(CC) $(FWFCFLAGS) Group.c
Icon.o:
	$(CC) $(FWFCFLAGS) Icon.c
Label.o:
	$(CC) $(FWFCFLAGS) Label.c
MenuBar.o:
	$(CC) $(FWFCFLAGS) MenuBar.c
MultiList.o:
	$(CC) $(FWFCFLAGS) MultiList.c
RadioGrp.o:
	$(CC) $(FWFCFLAGS) RadioGrp.c
RowCol.o:
	$(CC) $(FWFCFLAGS) RowCol.c
Scrollbar.o:
	$(CC) $(FWFCFLAGS) Scrollbar.c
Slider2.o:
	$(CC) $(FWFCFLAGS) Slider2.c
Tablist2Tabs.o:
	$(CC) $(FWFCFLAGS) Tablist2Tabs.c
TextWidth.o:
	$(CC) $(FWFCFLAGS) TextWidth.c
Toggle.o:
	$(CC) $(FWFCFLAGS) Toggle.c
cvtLong.o:
	$(CC) $(FWFCFLAGS) cvtLong.c
iconutil.o:
	$(CC) $(FWFCFLAGS) iconutil.c
laylex.o:
	$(CC) $(FWFCFLAGS) laylex.c

laygram.c laygram.h : laygram.y
	yacc -d laygram.y
	sed 's/yy/LayYY/g' y.tab.c > laygram.c
	sed 's/yy/LayYY/g' y.tab.h > laygram.h
	rm y.tab.c y.tab.h

# Hack to compile under systems which don't have strict ANSI compilers.
#if defined (SunArchitecture) && HasSunC && OSMajorVersion >= 5
#if !defined (i386Architecture)
Tabs.o:
	$(CC) -Xc $(EXTRA_INCLUDES) -c Tabs.c
ListTree.o:
	$(CC) -Xc $(EXTRA_INCLUDES) -c ListTree.c
#endif
#else
#if defined (SunArchitecture) && OSMajorVersion == 4
Tabs.o:
	acc -w $(EXTRA_INCLUDES) -DSUNOS -c Tabs.c
Gcs.o:
	acc -w $(EXTRA_INCLUDES) -c Gcs.c
ListTree.o:
	acc -w $(EXTRA_INCLUDES) -c ListTree.c
#else
#if defined (HPArchitecture)
Tabs.o:
	c89 -w $(CFLAGS) $(EXTRA_INCLUDES) -c Tabs.c
Gcs.o:
	c89 -w $(CFLAGS) $(EXTRA_INCLUDES) -c Gcs.c
ListTree.o:
	c89 -w $(CFLAGS) $(EXTRA_INCLUDES) -c ListTree.c
#else
#if defined (AlphaArchitecture) && OSMajorVersion >= 4
Tabs.o:
	$(CC) -std $(CFLAGS) $(EXTRA_INCLUDES) -c Tabs.c
ListTree.o:
	$(CC) -std $(CFLAGS) $(EXTRA_INCLUDES) -c ListTree.c
#endif
#endif
#endif
#endif


# Hack to compile under SunPRO V4 on Solaris
#if defined (SunArchitecture) && HasSunC && OSMajorVersion >= 5
laygram.o:
	$(CC) $(EXTRA_INCLUDES) -c laygram.c
#endif

clean::
	-rm -f laygram.c laygram.h
   
laylex.c: laylex.l
	$(LEX) laylex.l
	sed 's/yy/LayYY/g' lex.yy.c > laylex.c
	rm lex.yy.c

clean::
	-rm -f laylex.c

includes:: laygram.h
	MakeDir(X11irafIncDir/ObmW)
	@(set -x; for i in $(HEADERS); do \
		$(RM) X11irafIncDir/ObmW/$$i; \
		$(CP) -p $$i X11irafIncDir/ObmW/$$i; \
	done)
	MakeDir(X11irafIncDir/X11/Xraw)
	@(set -x; for i in $(XRAW_HEADERS); do \
		$(RM) X11irafIncDir/X11/Xraw/$$i; \
		$(CP) -p Xraw/$$i X11irafIncDir/X11/Xraw/$$i; \
	done)

#if InstallIncludes
install::
	@(set -x; for i in $(HEADERS); do \
		$(RM) X11irafIncDir/ObmW/$$i; \
	done)
	for i in $(HEADERS); do \
	    (set -x; $(CP) -p $$i X11irafIncDir/ObmW); \
	done
#endif    

DependTarget()
