KARMALIBS = -lkarmawidgets -lkarmagraphics -lkarmaXt -lkarmaX11 -lkarma
XLIBS = -lXaw -lXmu -lXt -lXext -lX11

include $(KARMAINCLUDEPATH)/gmakedefs/modules.head

ifdef XINCLUDEPATH
xincswitch = -I$(XINCLUDEPATH)
endif

#ifeq ($(OS),SunOS)
#NEED_SPACEBALL = TRUE
#CFLAGS = -DHAVE_SPACEBALL -DBERKELEY $(xincswitch)
#endif
ifeq ($(OS),Solaris)
NEED_SPACEBALL = TRUE
CFLAGS = -DHAVE_SPACEBALL $(xincswitch)
endif
ifeq ($(OS),Linux)
NEED_SPACEBALL = TRUE
CFLAGS = -DHAVE_SPACEBALL $(xincswitch)
endif
ifdef NEED_SPACEBALL
SPACEBALLO = sblibry.o sbcustom.o spaceball.o
else
CFLAGS = $(xincswitch)
endif

CODESET = newint

.SUFFIXES: .o .s .c .sh

%.o : %.sh
	shader2c -codeset $(CODESET) source/$*.sh $(machine_dir)/$*.c
	$(CC) $(CFLAGS) -Isource -c $(machine_dir)/$*.c -o $(machine_dir)/$*.o
	rm $(machine_dir)/$*.c


TARGETS =	$(KARMABINPATH)/xray $(KARMABINPATH)/render_client

all:	$(TARGETS)	generic_clean


XRAYO =	\
	main_xt.o\
	globals.o\
	router.o\
	globals_vrender.o\
	globals_xt.o\
	initialise.o\
	setup_vrender.o\
	geom.o\
	compute.o\
	save_movie.o\
	load_disp.o\
	expand.o\
	memutil.o\
	orient.o\
	display.o\
	display_xt.o\
	ray_display.o\
	offset.o\
	slice_3d_xt.o\
	mono_hg.o\
	mono_hg_xt.o\
	subs_hg.o\
	subs_hg_xt.o\
	fullcolour_hg.o\
	cont_hg.o\
	cont_hg_xt.o\
	threecolour_hg.o\
	threecolour_hg_xt.o\
	cursor_3d.o\
	cursor_3d_xt.o\
	active_2d_cursor.o\
	shaders.o\
	depthshaders.o\
	wavelet.o\
	filter.o\
	filter_xt.o\
	segments_xt.o\
	RenderDisplayPopup.o\
	region_xt.o\
	movie_xt.o\
	$(SPACEBALLO)

$(KARMABINPATH)/xray:	$(XRAYO) \
			$(KDEPLIB_KARMAWIDGETS) \
			$(KDEPLIB_KARMAGRAPHICS) \
			$(KDEPLIB_KARMAX11) $(KDEPLIB_KARMA)
	cd $(machine_dir); $(LD) $(LDFLAGS) -o xray $(XRAYO) $(CLIBS)
	\rm -f $(KARMABINPATH)/xray
	$(KINSTALL) -s $(machine_dir)/xray $(KARMABINPATH)/xray
	chmod u=rwx,go=rx $(KARMABINPATH)/xray


CLIENTO = \
	client.o\
	globals_vrender.o\
	setup_vrender.o\
	shaders.o

$(KARMABINPATH)/render_client:	$(CLIENTO) \
			$(KDEPLIB_KARMAWIDGETS) \
			$(KDEPLIB_KARMAGRAPHICS) \
			$(KDEPLIB_KARMAX11) $(KDEPLIB_KARMA)
	cd $(machine_dir); $(LD) $(LDFLAGS) -o render_client $(CLIENTO) -lkarma -lm $(OS_LIBS)
	\rm -f $(KARMABINPATH)/render_client
	$(KINSTALL) -s $(machine_dir)/render_client $(KARMABINPATH)/render_client
	chmod u=rwx,go=rx $(KARMABINPATH)/render_client


include $(KARMAINCLUDEPATH)/gmakedefs/modules.tail
