#
# .../src/xmplus/samples/Makefile
# linked to .../systems/$(BUILD)/xmplus/samples/Makefile
#

BSDIR= ../../../..
include ../../Make.init

# To use this file as your makefile replace the above with:
#
#     BSDIR= <absolute path>
#     BUILD= <valid build name>
#     include $(BSDIR)/systems/$(BUILD)/Make.init


BSINCLUDES= $(BSDIR)/include
BSLIBS= 

_CCFLAGS = $(CCFLAGS) -D$(SYSTEM) -I. -I$(BSDIR)/include -I$(BSDIR)/lib/$(BUILD)
_LDFLAGS = $(LDFLAGS) -L$(BSDIR)/lib/$(BUILD)
_CLFLAGS = $(CLFLAGS) -D$(SYSTEM) -I. -I$(BSDIR)/include -I$(BSDIR)/lib/$(BUILD) -L$(BSDIR)/lib/$(BUILD)

XMFLAGS = $(_CLFLAGS) -L$(XMLIBDIR) -L$(X11LIBDIR)
AWFLAGS = $(_CLFLAGS) -DXAW -L$(XAWLIBDIR) -L$(X11LIBDIR)
TKFLAGS = $(_CLFLAGS) -DTCL
CWFLAGS = $(_CLFLAGS) -DASCII
XRFLAGS = $(_CLFLAGS) -DRCI

CIXMLIBS = -lCi2 -lXm++
CIAWLIBS = -lCi2aw -lXmaw++
CITKLIBS = -lXmtk++ -lipc
CICWLIBS = -lXmcw++ -lCw++ -lbsLib -lcoll
CIXRLIBS = -lXmrci++ -lrci -lipc -lcoll -lminlib

XMLIBS = -lXm
AWLIBS = -lXaw -lXmu -lXext
XLIBS = -lXt -lX11

ALLXMLIBS = $(CIXMLIBS) $(XMLIBS) $(XLIBS) $(SYSLIBS) -lm
ALLAWLIBS = $(CIAWLIBS) $(AWLIBS) $(XLIBS) $(SYSLIBS) -lm
ALLTKLIBS = $(CITKLIBS) $(SYSLIBS)
ALLCWLIBS = $(CICWLIBS) $(SYSLIBS)
ALLXRLIBS = $(CIXRLIBS) $(SYSLIBS) -lm

BLDLIBDIR = $(BSDIR)/lib/$(BUILD)


all:: xmsamples awsamples tksamples xrsamples

XMEXECS= xmdlgbox xmdlgwin xmtoolbars xmphonebk xmhex xmshowimg xmci2test xmci2desk
AWEXECS= awdlgbox awdlgwin awtoolbars awphonebk awhex awshowimg awci2test awci2desk
CWEXECS= cwdlgbox
TKEXECS= tkdlgbox
XREXECS= xrphonebk xrdlgbox

xmsamples: $(XMEXECS)

awsamples: $(AWEXECS)

cwsamples: $(CWEXECS)

tksamples: $(TKEXECS)

xrsamples: $(XREXECS)

clean:
	rm -f $(XMEXECS) $(AWEXECS) $(CWEXECS) $(TKEXECS) $(XREXECS) *.err *.log

# dlgbox ##################################

xmdlgbox: dlgbox.C $(BLDLIBDIR)/libXm++.a
	$(PURIFY) $(CC) $(XMFLAGS) dlgbox.C $(ALLXMLIBS) -o $@

awdlgbox: dlgbox.C $(BLDLIBDIR)/libXmaw++.a
	$(PURIFY) $(CC) $(AWFLAGS) dlgbox.C $(ALLAWLIBS) -o $@

tkdlgbox.o: dlgbox.C $(IXMDIR)/xmObject.h $(IXMDIR)/TclDefs.h
	$(PURIFY) $(CC) $(TKFLAGS) -c dlgbox.C -o $@

tkdlgbox: tkdlgbox.o $(BLDLIBDIR)/libXmtk++.a
	$(PURIFY) $(CC) $(TKFLAGS) tkdlgbox.o $(ALLTKLIBS) -o $@

cwdlgbox.o: dlgbox.C $(IXMDIR)/xmObject.h $(IXMDIR)/CwDefs.h
	$(PURIFY) $(CC) $(CWFLAGS) -c dlgbox.C -o $@

cwdlgbox: cwdlgbox.o $(BLDLIBDIR)/libXmcw++.a
	$(PURIFY) $(CC) $(CWFLAGS) tkdlgbox.o $(ALLCWLIBS) -o $@

xrdlgbox: dlgbox.C $(BLDLIBDIR)/libXmrci++.a
	$(PURIFY) $(CC) $(XRFLAGS) dlgbox.C $(ALLXRLIBS) -o $@

# dlgwin ##################################

xmdlgwin: dlgwin.C $(BLDLIBDIR)/libXm++.a
	$(PURIFY) $(CC) $(XMFLAGS) dlgwin.C $(ALLXMLIBS) -o $@

awdlgwin: dlgwin.C $(BLDLIBDIR)/libXmaw++.a
	$(PURIFY) $(CC) $(AWFLAGS) dlgwin.C $(ALLAWLIBS) -o $@

xrdlgwin: dlgwin.C $(BLDLIBDIR)/libXmrci++.a
	$(PURIFY) $(CC) $(XRFLAGS) dlgwin.C $(ALLXRLIBS) -o $@

# toolbars #################################

xmtoolbars: toolbars.C $(BLDLIBDIR)/libXm++.a
	$(PURIFY) $(CC) $(XMFLAGS) toolbars.C $(ALLXMLIBS) -o $@

awtoolbars: toolbars.C $(BLDLIBDIR)/libXmaw++.a
	$(PURIFY) $(CC) $(AWFLAGS) toolbars.C $(ALLAWLIBS) -o $@

# phonebk ###################################

xmphonebk: phonebk.C $(BLDLIBDIR)/libXm++.a
	$(PURIFY) $(CC) $(XMFLAGS) phonebk.C $(ALLXMLIBS) -o $@

awphonebk: phonebk.C $(BLDLIBDIR)/libXmaw++.a
	$(PURIFY) $(CC) $(AWFLAGS) phonebk.C $(ALLAWLIBS) -o $@

tkphonebk: phonebk.C $(BLDLIBDIR)/libXmtk++.a
	$(PURIFY) $(CC) $(TKFLAGS) phonebk.C $(ALLTKLIBS) -o $@

xrphonebk: phonebk.C $(BLDLIBDIR)/libXmrci++.a
	$(PURIFY) $(CC) $(XRFLAGS) phonebk.C $(ALLXRLIBS) -o $@

# hex #######################################

xmhex: hexedit.C $(BLDLIBDIR)/libXm++.a
	$(PURIFY) $(CC) $(XMFLAGS) hexedit.C $(ALLXMLIBS) -o $@

awhex: hexedit.C $(BLDLIBDIR)/libXmaw++.a
	$(PURIFY) $(CC) $(AWFLAGS) hexedit.C $(ALLAWLIBS) -o $@

# showimg ###################################

xmshowimg: showimg.C $(BLDLIBDIR)/libXm++.a
	$(PURIFY) $(CC) $(XMFLAGS) showimg.C $(ALLXMLIBS) -o $@

awshowimg: showimg.C $(BLDLIBDIR)/libXmaw++.a
	$(PURIFY) $(CC) $(AWFLAGS) showimg.C $(ALLAWLIBS) -o $@

# ci2test ###################################

xmci2test: ci2test.C $(BLDLIBDIR)/libXm++.a $(BLDLIBDIR)/libCi2.a
	$(PURIFY) $(CC) $(XMFLAGS) ci2test.C $(ALLXMLIBS) -o $@

awci2test: ci2test.C $(BLDLIBDIR)/libXmaw++.a $(BLDLIBDIR)/libCi2aw.a
	$(PURIFY) $(CC) $(AWFLAGS) ci2test.C $(ALLAWLIBS) -o $@

# ci2desk ###################################

xmci2desk: ci2desk.C $(BLDLIBDIR)/libXm++.a $(BLDLIBDIR)/libCi2.a
	$(PURIFY) $(CC) $(XMFLAGS) -DTEST_IMAGES ci2desk.C $(ALLXMLIBS) -o $@

awci2desk: ci2desk.C $(BLDLIBDIR)/libXmaw++.a $(BLDLIBDIR)/libCi2aw.a
	$(PURIFY) $(CC) $(AWFLAGS) ci2desk.C $(ALLAWLIBS) -o $@


# RDA demo ##################################

rdatest.o: rdatest.C
	$(CC) $(XRFLAGS) -c rdatest.C -o $@

rdatest: rdatest.o $(BLDLIBDIR)/libXmrci++.a $(BLDLIBDIR)/librci.a
	$(PURIFY) $(CC) $(XRFLAGS) rdatest.o $(ALLXRLIBS) -o $@




# xm: .C $(BLDLIBDIR)/libXm++.a
#	$(CC) $(XMFLAGS) .C $(ALLXMLIBS) -o $@

# aw: .C $(BLDLIBDIR)/libXmaw++.a
#	$(CC) $(AWFLAGS) .C $(ALLAWLIBS) -o $@
