# Makefile to build MVIEW:
#
BIN    = ${GAG_DEST}/bin
LIB    = ${GAG_DEST}/lib
FROM   = ${GAG_REF}/task/X
TO     = ${GAG_DEST}/task/X
DEST   = ${GAG_DEST}/task/exec
LIST   = -lgdf -lgagtask -limage -lgag  -lX11 -lm
.SUFFIXES: .uid .uil .for
.c.o:
	@echo "Compilation de $<"
	$(COMPILC) $*.c

.f.o:
	@echo "Compilation de $<"
	$(COMPILF) $*.f

.uil.uid:
	@echo "Compilation de $<"
	uil -o $@ -v $*.lis $<

# Fichiers objects
    COBJECTS = \
	${TO}/mview.o \
	${TO}/mview_display.o \
	${TO}/mview_menu.o \
	${TO}/mview_clips.o \
	${TO}/mview_stuff.o \
	${TO}/mview_slice.o \
	${TO}/mview_cursor.o \
	${TO}/mview_spectrum.o \
	${TO}/hsvcontrol.o \
	${TO}/mview_help.o

    FOBJECTS = \
	${TO}/mview_main.o \
	${TO}/hsv_to_rgb.o \
	${TO}/rgb_to_hsv.o

    UOBJECTS = \
	${TO}/mview.uid \
	${TO}/hsvcontrol.uid

# Fichiers include du C (*.h) :
#
    HFILES = \
	${TO}/mview_callbacks.h \
	${TO}/mview_actions.h \
	${TO}/mview_widgets.h \
	${TO}/mview_view.h \
	${TO}/mview_misc.h \
	${TO}/mview_macros.h

# Fichiers include du Fortran (*.inc) :
#
    INC = \
	${TO}/mview.inc

# Fichiers pour HISVIEW
    HIS_CFILES = \
	${TO}/hisview.c \
	${TO}/hisview_display.c \
	${TO}/hisview_color.c \
	${TO}/hsvimage.c \
	${TO}/hisview_stuff.c \
	${TO}/show_components.c

    HIS_HFILES = \
	${TO}/hisview_callbacks.h \
	${TO}/hisview_widgets.h \
	${TO}/hisview_view.h \
	${TO}/hisview_macros.h \
	${TO}/hisview_misc.h

    HIS_FFILES = \
	${TO}/hisview_main.f \
	${TO}/hsv_to_rgb.f

    HIS_COBJECTS = \
	${TO}/hisview.o \
	${TO}/hisview_display.o \
	${TO}/hisview_color.o \
	${TO}/hsvimage.o \
	${TO}/hisview_stuff.o \
	${TO}/show_components.o

    HIS_FOBJECTS = \
	${TO}/hisview_main.o \
	${TO}/hsv_to_rgb.o

    HIS_UOBJECTS = \
        ${TO}/hisview.uid

    HIS_INC = \
	${TO}/hisview.inc

exe: ${TO}/mview.exe ${TO}/hisview.exe

fits: ${TO}/mview_fits

include: include.inc

include.inc: $(HFILES) $(INC) ${HIS_INC} ${HIS_HFILES} 
	(touch include.o; rm *.o; touch include.inc)

unpack:
	(cd $(GAG_REF); uncompress -c $(TARDIR)/task_X.tar.Z |tar xf -)

${TO}/mview.exe: include.inc ${COBJECTS} ${FOBJECTS} ${UOBJECTS}
	$(LINK) -o ${TO}/mview.exe \
	$(FOBJECTS) $(COBJECTS) \
	-L$(LIB) ${GAG_MOTIF} $(LIST)
	cp ${TO}/mview.exe ${DEST}/mview.exe
	touch ${TO}/mview.exe
	cp ${TO}/*.uid ${DEST}/

${TO}/hisview.exe: include.inc ${HIS_COBJECTS} ${HIS_FOBJECTS} ${HIS_UOBJECTS}
	$(LINK) -o ${TO}/hisview.exe \
	$(HIS_FOBJECTS) $(HIS_COBJECTS) \
	-L$(LIB) ${GAG_MOTIF} $(LIST)
	cp ${TO}/hisview.exe ${DEST}/hisview.exe
	touch ${TO}/hisview.exe
	cp ${TO}/*.uid ${DEST}/
#
${TO}/mview_fits: include.inc ${TO}/mview_fits.o ${COBJECTS} ${FOBJECTS} \
	${UOBJECTS}
	$(LINK) -o ${TO}/mview_fits ${TO}/mview_fits.o \
	$(COBJECTS) $(FOBJECTS) \
	-L$(LIB) ${GAG_MOTIF} $(LIST)
#
${TO}/mview_fits.c: ${TO}/mview_fits.h ${FROM}/mview_fits.c,v
	(cd ${FROM}; co -p mview_fits.c | cat  > ${TO}/mview_fits.c)
${TO}/mview_fits.h:  ${FROM}/mview_fits.h,v
	(cd ${FROM}; co -p mview_fits.h | cat  > ${TO}/mview_fits.h)
${TO}/mview.c: ${FROM}/mview.c,v
	(cd ${FROM}; co -p mview.c | cat  > ${TO}/mview.c)
${TO}/mview_display.c: ${FROM}/mview_display.c,v
	(cd ${FROM}; co -p mview_display.c | cat > ${TO}/mview_display.c)
${TO}/mview_menu.c: ${FROM}/mview_menu.c,v
	(cd ${FROM}; co -p mview_menu.c | cat > ${TO}/mview_menu.c)
${TO}/mview_clips.c: ${FROM}/mview_clips.c,v
	(cd ${FROM}; co -p mview_clips.c | cat > ${TO}/mview_clips.c)
${TO}/mview_stuff.c: ${FROM}/mview_stuff.c,v
	(cd ${FROM}; co -p mview_stuff.c | cat > ${TO}/mview_stuff.c)
${TO}/mview_slice.c: ${FROM}/mview_slice.c,v
	(cd ${FROM}; co -p mview_slice.c | cat > ${TO}/mview_slice.c)
${TO}/mview_cursor.c: ${FROM}/mview_cursor.c,v
	(cd ${FROM}; co -p mview_cursor.c | cat > ${TO}/mview_cursor.c)
${TO}/mview_spectrum.c: ${FROM}/mview_spectrum.c,v
	(cd ${FROM}; co -p mview_spectrum.c | cat > ${TO}/mview_spectrum.c)
${TO}/hsvcontrol.c: ${FROM}/hsvcontrol.c,v
	(cd ${FROM}; co -p hsvcontrol.c | cat > ${TO}/hsvcontrol.c)
${TO}/mview_help.c: ${FROM}/mview_help.c,v
	(cd ${FROM}; co -p mview_help.c | cat > ${TO}/mview_help.c)
#
${TO}/hisview.c: ${FROM}/hisview.c,v
	(cd ${FROM}; co -p hisview.c | cat > ${TO}/hisview.c)
${TO}/hisview_color.c: ${FROM}/hisview_color.c,v
	(cd ${FROM}; co -p hisview_color.c | cat > ${TO}/hisview_color.c)
${TO}/hisview_display.c: ${FROM}/hisview_display.c,v
	(cd ${FROM}; co -p hisview_display.c | cat > ${TO}/hisview_display.c)
${TO}/hisview_stuff.c: ${FROM}/hisview_stuff.c,v
	(cd ${FROM}; co -p hisview_stuff.c | cat > ${TO}/hisview_stuff.c)
${TO}/hsvimage.c: ${FROM}/hsvimage.c,v
	(cd ${FROM}; co -p hsvimage.c | cat > ${TO}/hsvimage.c)
${TO}/show_components.c: ${FROM}/show_components.c,v
	(cd ${FROM}; co -p show_components.c | cat > ${TO}/show_components.c)

${TO}/hisview_main.f: ${FROM}/hisview_main.for,v $(INC)
	(cd ${FROM}; co -p hisview_main.for | $(BIN)/fpre > ${TO}/hisview_main.f)

${TO}/hisview.inc: ${FROM}/hisview.inc,v
	(cd ${FROM}; co -p hisview.inc | $(BIN)/fpre > ${TO}/hisview.inc)

${TO}/hisview.uil: ${FROM}/hisview.uil,v
	(cd ${FROM}; co -p hisview.uil | cat > ${TO}/hisview.uil)
${TO}/hisview_widgets.h: ${FROM}/hisview_widgets.h,v
	(cd ${FROM}; co -p hisview_widgets.h | cat > ${TO}/hisview_widgets.h)
${TO}/hisview_callbacks.h: ${FROM}/hisview_callbacks.h,v
	(cd ${FROM}; co -p hisview_callbacks.h | cat > ${TO}/hisview_callbacks.h)
${TO}/hisview_macros.h: ${FROM}/hisview_macros.h,v
	(cd ${FROM}; co -p hisview_macros.h | cat > ${TO}/hisview_macros.h)
${TO}/hisview_misc.h: ${FROM}/hisview_misc.h,v
	(cd ${FROM}; co -p hisview_misc.h | cat > ${TO}/hisview_misc.h)
${TO}/hisview_view.h: ${FROM}/hisview_view.h,v
	(cd ${FROM}; co -p hisview_view.h | cat > ${TO}/hisview_view.h)
#
${TO}/mview_main.f: ${FROM}/mview_main.for,v $(INC)
	(cd ${FROM}; co -p mview_main.for | $(BIN)/fpre > ${TO}/mview_main.f)
${TO}/hsv_to_rgb.f: ${FROM}/hsv_to_rgb.for,v
	(cd ${FROM}; co -p hsv_to_rgb.for | $(BIN)/fpre > ${TO}/hsv_to_rgb.f)
${TO}/rgb_to_hsv.f: ${FROM}/rgb_to_hsv.for,v
	(cd ${FROM}; co -p rgb_to_hsv.for | $(BIN)/fpre > ${TO}/rgb_to_hsv.f)
${TO}/mview.inc: ${FROM}/mview.inc,v
	(cd ${FROM}; co -p mview.inc | $(BIN)/fpre > ${TO}/mview.inc)
${TO}/mview.uil: ${FROM}/mview.uil,v
	(cd ${FROM}; co -p mview.uil | cat > ${TO}/mview.uil)
${TO}/hsvcontrol.uil: ${FROM}/hsvcontrol.uil,v
	(cd ${FROM}; co -p hsvcontrol.uil | cat > ${TO}/hsvcontrol.uil)
${TO}/mview_actions.h: ${FROM}/mview_actions.h,v
	(cd ${FROM}; co -p mview_actions.h | cat > ${TO}/mview_actions.h)
${TO}/mview_callbacks.h: ${FROM}/mview_callbacks.h,v
	(cd ${FROM}; co -p mview_callbacks.h | cat > ${TO}/mview_callbacks.h)
${TO}/mview_macros.h: ${FROM}/mview_macros.h,v
	(cd ${FROM}; co -p mview_macros.h | cat > ${TO}/mview_macros.h)
${TO}/mview_misc.h: ${FROM}/mview_misc.h,v
	(cd ${FROM}; co -p mview_misc.h | cat > ${TO}/mview_misc.h)
${TO}/mview_view.h: ${FROM}/mview_view.h,v
	(cd ${FROM}; co -p mview_view.h | cat > ${TO}/mview_view.h)
${TO}/mview_widgets.h: ${FROM}/mview_widgets.h,v
	(cd ${FROM}; co -p mview_widgets.h | cat > ${TO}/mview_widgets.h)





