# --- gdis Makefile

NAME = gdis-0.89
INSTALL = /progs/bin
USE_GPROF = NO
USE_EFENCE = NO

# --- edit as required

include makefile.linux
#include makefile.sgi
#include makefile.osx
#include makefile.win32

# --- process the flags

ifeq ($(USE_EFENCE), YES)
LIBS := $(LIBS) -lefence
endif
ifeq ($(USE_GPROF), YES)
CFLAGS := $(CFLAGS) -pg
LIBS := $(LIBS) -pg
endif

# --- main target

include makefile.src

OBJ = $(SRC:.c=.o)

gdis: $(OBJ)
	$(CC) $(OBJ) $(LDFLAGS) -o gdis $(LIBS)

# --- extra targets

.DELETE_ON_ERROR:
.SUFFIXES:
.SUFFIXES: .c .o .app .dmg

.c.o: 
	$(CC) $(CFLAGS) -c $< $(INCS)

.PHONY: clean
clean:
	/bin/rm -f $(OBJ) gdis
	/bin/rm -fr gdis.app
	/bin/rm -f gdis.dmg

.PHONY: install
install:
	/usr/bin/strip gdis
	/bin/cp gdis $(INSTALL)
	/bin/cp gdis.elements $(INSTALL)
	/bin/cp gdis.library $(INSTALL)
	/bin/cp gdis.manual $(INSTALL)

.PHONY: tgz
tgz:
	cd .. ; ln -s gdis $(NAME) ; tar -czvf $(NAME)-source.tgz \
	$(NAME)/install $(NAME)/makefile $(NAME)/makefile.* \
	$(NAME)/README $(NAME)/CHANGELOG $(NAME)/TODO \
	$(NAME)/GPL.txt \
	$(NAME)/*.c $(NAME)/*.h $(NAME)/*.xpm \
	$(NAME)/make_gdis.app $(NAME)/gdis.app.template $(NAME)/GDIS.icns \
	$(NAME)/gdis.elements $(NAME)/gdis.library $(NAME)/gdis.manual ;\
	rm -rf $(NAME)

.PHONY: depend
depend:
	makedepend -Y *.[ch]
# DO NOT DELETE

analysis.o: gdis.h pak.h coords.h model.h edit.h file.h matrix.h measure.h
analysis.o: parse.h graph.h shortcuts.h interface.h analysis.h task.h
analysis.o: numeric.h
analysis.o: task.h
camera.o: gdis.h pak.h matrix.h render.h opengl.h dialog.h quaternion.h
camera.o: numeric.h interface.h
colourlib.o: colourlib.h
connect.o: gdis.h pak.h coords.h interface.h shortcuts.h matrix.h spatial.h
connect.o: numeric.h morph.h opengl.h select.h zone.h
contents.o: gdis.h pak.h coords.h edit.h file.h matrix.h
coords.o: gdis.h pak.h coords.h edit.h error.h interface.h matrix.h measure.h
coords.o: spatial.h surface.h numeric.h morph.h opengl.h render.h select.h
coords.o: zone.h
crystal_graph.o: gdis.h pak.h coords.h model.h file.h parse.h scan.h matrix.h
crystal_graph.o: interface.h numeric.h
defect.o: gdis.h pak.h file.h scan.h parse.h coords.h defect.h edit.h graph.h
defect.o: dialog.h model.h matrix.h geometry.h numeric.h space.h surface.h
defect.o: task.h zone.h interface.h shortcuts.h
dock.o: gdis.h pak.h coords.h model.h file.h matrix.h module.h parse.h
dock.o: project.h quaternion.h task.h interface.h dialog.h shortcuts.h
edit.o: gdis.h pak.h coords.h edit.h matrix.h opengl.h render.h select.h
edit.o: shortcuts.h interface.h zone.h
elem.o: gdis.h pak.h coords.h edit.h file.h parse.h matrix.h numeric.h
elem.o: surface.h select.h interface.h shortcuts.h opengl.h
error.o: gdis.h pak.h interface.h
file.o: gdis.h pak.h coords.h file.h parse.h matrix.h model.h space.h zone.h
file.o: render.h select.h shortcuts.h interface.h dialog.h opengl.h
file_abinit.o: gdis.h pak.h coords.h model.h file.h parse.h interface.h
file_arc.o: gdis.h pak.h coords.h model.h file.h parse.h matrix.h interface.h
file_bgf.o: gdis.h pak.h coords.h model.h file.h parse.h scan.h matrix.h
file_bgf.o: interface.h numeric.h
file_castep.o: gdis.h pak.h coords.h file.h parse.h model.h interface.h
file_cel.o: gdis.h pak.h coords.h model.h file.h parse.h
file_cgf.o: gdis.h pak.h coords.h model.h file.h parse.h scan.h matrix.h
file_cgf.o: interface.h numeric.h
file_cif.o: gdis.h pak.h coords.h file.h parse.h matrix.h model.h interface.h
file_cssr.o: gdis.h pak.h coords.h model.h file.h matrix.h interface.h
file_cssr.o: parse.h
file_diff.o: gdis.h pak.h coords.h model.h file.h parse.h matrix.h surface.h
file_diff.o: interface.h
file_dlp.o: gdis.h pak.h coords.h model.h file.h parse.h scan.h interface.h
file_dlpoly.o: gdis.h pak.h coords.h model.h file.h parse.h scan.h matrix.h
file_dlpoly.o: interface.h
file_dmol.o: gdis.h pak.h coords.h matrix.h model.h parse.h file.h scan.h
file_fdf.o: gdis.h pak.h coords.h error.h file.h parse.h matrix.h model.h
file_fdf.o: interface.h
file_gauss.o: gdis.h pak.h coords.h file.h parse.h matrix.h model.h
file_gauss.o: interface.h
file_geomview.o: gdis.h pak.h coords.h model.h file.h parse.h scan.h matrix.h
file_geomview.o: spatial.h interface.h
file_gmf.o: gdis.h pak.h coords.h file.h parse.h morph.h model.h matrix.h
file_gmf.o: quaternion.h render.h space.h surface.h shortcuts.h interface.h
file_gms.o: gdis.h pak.h gamess.h coords.h model.h edit.h file.h parse.h
file_gms.o: matrix.h interface.h
file_gulp.o: gdis.h pak.h coords.h edit.h file.h gulp_keyword.h parse.h
file_gulp.o: scan.h space.h matrix.h model.h interface.h
file_marvin.o: gdis.h pak.h coords.h file.h parse.h matrix.h model.h space.h
file_marvin.o: scan.h interface.h
file_nwchem.o: gdis.h pak.h coords.h file.h parse.h model.h interface.h
file_pdb.o: gdis.h pak.h coords.h model.h file.h parse.h matrix.h interface.h
file_povray.o: gdis.h pak.h coords.h file.h matrix.h quaternion.h numeric.h
file_povray.o: morph.h opengl.h render.h select.h spatial.h interface.h
file_povray.o: colourlib.h
file_rietica.o: gdis.h pak.h coords.h file.h parse.h model.h scan.h matrix.h
file_rietica.o: interface.h opengl.h
file_xml.o: gdis.h pak.h coords.h edit.h file.h model.h parse.h render.h
file_xml.o: spatial.h matrix.h interface.h
file_xtl.o: gdis.h pak.h coords.h model.h file.h parse.h matrix.h interface.h
file_xyz.o: gdis.h pak.h coords.h model.h file.h parse.h scan.h matrix.h
file_xyz.o: interface.h
gdis.o: pak.h
geometry.o: gdis.h pak.h coords.h matrix.h morph.h spatial.h surface.h
geometry.o: model.h interface.h
gl_graph.o: gdis.h pak.h graph.h matrix.h numeric.h opengl.h
gl_main.o: gdis.h pak.h coords.h edit.h geometry.h graph.h matrix.h molsurf.h
gl_main.o: morph.h spatial.h zone.h opengl.h render.h select.h surface.h
gl_main.o: numeric.h measure.h quaternion.h interface.h dialog.h gl_varray.h
gl_primitives.o: gdis.h pak.h coords.h matrix.h numeric.h quaternion.h
gl_primitives.o: opengl.h render.h interface.h
gl_stereo.o: gdis.h pak.h coords.h matrix.h opengl.h render.h interface.h
gl_varray.o: gdis.h pak.h coords.h matrix.h numeric.h opengl.h
gui_analysis.o: gdis.h pak.h coords.h file.h graph.h analysis.h task.h
gui_analysis.o: dialog.h interface.h shortcuts.h
gui_animate.o: gdis.h pak.h coords.h model.h edit.h file.h render.h matrix.h
gui_animate.o: quaternion.h measure.h numeric.h opengl.h shortcuts.h
gui_animate.o: interface.h dialog.h
gui_canvas.o: gdis.h pak.h opengl.h interface.h
gui_defect.o: gdis.h pak.h defect.h dialog.h matrix.h shortcuts.h interface.h
gui_dialog.o: gdis.h pak.h file.h matrix.h parse.h shortcuts.h interface.h
gui_dialog.o: dialog.h
gui_diffract.o: gdis.h pak.h coords.h file.h graph.h parse.h sginfo.h
gui_diffract.o: matrix.h surface.h spatial.h task.h numeric.h interface.h
gui_diffract.o: dialog.h shortcuts.h opengl.h
gui_edit.o: gdis.h pak.h coords.h edit.h file.h parse.h library.h matrix.h
gui_edit.o: measure.h model.h morph.h numeric.h select.h space.h spatial.h
gui_edit.o: surface.h shortcuts.h interface.h dialog.h opengl.h zone.h
gui_gms.o: gdis.h pak.h gamess.h coords.h file.h task.h matrix.h parse.h
gui_gms.o: spatial.h shortcuts.h dialog.h interface.h opengl.h
gui_gperiodic.o: gdis.h pak.h coords.h matrix.h render.h gperiodic.h
gui_gperiodic.o: shortcuts.h interface.h dialog.h opengl.h
gui_gulp.o: gdis.h pak.h coords.h edit.h file.h graph.h model.h parse.h
gui_gulp.o: scan.h task.h matrix.h surface.h spatial.h shortcuts.h
gui_gulp.o: interface.h dialog.h opengl.h render.h gui_image.h
gui_help.o: gdis.h pak.h shortcuts.h dialog.h scan.h parse.h interface.h
gui_help.o: gui_image.h
gui_library.o: gdis.h pak.h model.h library.h interface.h shortcuts.h
gui_main.o: gdis.h pak.h coords.h edit.h file.h graph.h task.h morph.h
gui_main.o: model.h module.h matrix.h render.h select.h space.h sginfo.h
gui_main.o: spatial.h opengl.h quaternion.h surface.h shortcuts.h interface.h
gui_main.o: dialog.h zmatrix.h gui_image.h logo_left.xpm logo_right.xpm
gui_mdi.o: gdis.h pak.h coords.h matrix.h model.h shortcuts.h interface.h
gui_mdi.o: dialog.h
gui_measure.o: gdis.h pak.h coords.h edit.h matrix.h opengl.h parse.h
gui_measure.o: render.h spatial.h select.h shortcuts.h interface.h dialog.h
gui_measure.o: measure.h
gui_molsurf.o: gdis.h pak.h file.h parse.h coords.h matrix.h molsurf.h
gui_molsurf.o: spatial.h surface.h sginfo.h task.h shortcuts.h interface.h
gui_molsurf.o: dialog.h opengl.h
gui_monty.o: gdis.h pak.h coords.h edit.h file.h graph.h model.h parse.h
gui_monty.o: scan.h task.h matrix.h surface.h spatial.h shortcuts.h
gui_monty.o: interface.h dialog.h opengl.h numeric.h
gui_render.o: gdis.h pak.h coords.h edit.h file.h parse.h task.h morph.h
gui_render.o: matrix.h opengl.h render.h select.h spatial.h zone.h
gui_render.o: shortcuts.h interface.h dialog.h
gui_setup.o: gdis.h pak.h shortcuts.h dialog.h scan.h parse.h interface.h
gui_shorts.o: gdis.h pak.h dialog.h interface.h gui_image.h go.xpm pause.xpm
gui_shorts.o: play.xpm rewind.xpm fastforward.xpm stop.xpm step_forward.xpm
gui_shorts.o: step_backward.xpm
gui_siesta.o: gdis.h pak.h coords.h model.h file.h matrix.h module.h parse.h
gui_siesta.o: project.h spatial.h quaternion.h task.h interface.h dialog.h
gui_siesta.o: shortcuts.h mesch.h gui_siesta.h
gui_space.o: gdis.h pak.h coords.h matrix.h space.h shortcuts.h interface.h
gui_space.o: dialog.h opengl.h
gui_surface.o: gdis.h pak.h coords.h edit.h file.h parse.h task.h model.h
gui_surface.o: morph.h numeric.h sginfo.h matrix.h space.h surface.h
gui_surface.o: shortcuts.h interface.h dialog.h opengl.h
gui_symmetry.o: gdis.h pak.h coords.h edit.h matrix.h sginfo.h shortcuts.h
gui_symmetry.o: interface.h dialog.h opengl.h
gui_task.o: gdis.h pak.h task.h file.h parse.h shortcuts.h interface.h
gui_task.o: dialog.h
gui_tree.o: gdis.h pak.h coords.h model.h space.h graph.h select.h matrix.h
gui_tree.o: project.h shortcuts.h interface.h opengl.h dialog.h methane.xpm
gui_tree.o: box.xpm surface.xpm polymer.xpm diamond2.xpm graph.xpm
gui_zmatrix.o: gdis.h pak.h coords.h matrix.h zmatrix.h zmatrix_pak.h
gui_zmatrix.o: shortcuts.h dialog.h interface.h zone.h
hirshfeld.o: gdis.h pak.h coords.h matrix.h space.h numeric.h hirshfeld.h
hirshfeld.o: hirshfeld_data.h molsurf.h
image.o: gdis.h pak.h coords.h edit.h file.h matrix.h opengl.h dialog.h
image.o: interface.h gui_image.h folder.xpm disk.xpm arrow.xpm axes.xpm
image.o: tools.xpm palette.xpm cross.xpm geom.xpm cell.xpm camera.xpm
image.o: element.xpm tb_animate.xpm tb_diffraction.xpm tb_isosurface.xpm
image.o: tb_surface.xpm canvas_single.xpm canvas_create.xpm canvas_delete.xpm
image.o: plus.xpm
library.o: gdis.h pak.h coords.h file.h parse.h library.h matrix.h model.h
library.o: scan.h interface.h
main.o: gdis.h pak.h file.h parse.h task.h render.h matrix.h opengl.h
main.o: numeric.h module.h library.h interface.h gui_image.h
matrix.o: gdis.h pak.h coords.h edit.h matrix.h quaternion.h model.h morph.h
matrix.o: opengl.h render.h select.h space.h spatial.h interface.h
measure.o: gdis.h pak.h coords.h matrix.h measure.h interface.h opengl.h
mesch.o: mesch_pak.h
mesch_core.o: mesch_pak.h
model.o: gdis.h pak.h coords.h matrix.h edit.h error.h file.h graph.h morph.h
model.o: model.h measure.h project.h analysis.h task.h render.h select.h
model.o: space.h surface.h spatial.h opengl.h interface.h dialog.h zone.h
module.o: gdis.h pak.h file.h parse.h task.h opengl.h numeric.h interface.h
molsurf.o: gdis.h pak.h file.h coords.h matrix.h molsurf.h molsurf_data.h
molsurf.o: hirshfeld.h numeric.h parse.h project.h spatial.h surface.h task.h
molsurf.o: interface.h opengl.h zone.h colourlib.h vector.h
numeric.o: gdis.h pak.h numeric.h
parse.o: gdis.h pak.h file.h parse.h keywords.h interface.h
project.o: gdis.h pak.h coords.h model.h graph.h surface.h molsurf.h
project.o: numeric.h parse.h project.h file.h scan.h interface.h
quaternion.o: gdis.h pak.h matrix.h interface.h
render.o: gdis.h pak.h coords.h matrix.h opengl.h render.h interface.h
scan.o: gdis.h pak.h file.h parse.h
select.o: gdis.h pak.h coords.h matrix.h quaternion.h measure.h spatial.h
select.o: opengl.h render.h select.h zone.h interface.h shortcuts.h
sgclib.o: sginfo.h
sginfo.o: gdis.h pak.h sginfo.h
sgio.o: sginfo.h
space.o: gdis.h pak.h coords.h model.h matrix.h sginfo.h space.h zone.h
space.o: dialog.h interface.h
spatial.o: gdis.h pak.h coords.h geometry.h matrix.h morph.h numeric.h
spatial.o: spatial.h select.h interface.h shortcuts.h opengl.h
surface.o: gdis.h pak.h coords.h model.h matrix.h numeric.h vector.h space.h
surface.o: surface.h zone.h interface.h
task.o: gdis.h pak.h file.h task.h interface.h
type.o: gdis.h pak.h coords.h model.h file.h parse.h interface.h task.h
zmatrix.o: gdis.h pak.h coords.h matrix.h zmatrix.h zmatrix_pak.h parse.h
zmatrix.o: interface.h
zone.o: gdis.h pak.h coords.h interface.h shortcuts.h matrix.h spatial.h
zone.o: numeric.h morph.h opengl.h select.h zone.h
