# $Id: GNUmakefile,v 1.23 2009/03/05 11:32:07 lgarnier Exp $
# -----------------------------------------------------------------------
# GNUmakefile for visualization and modeling.  John Allison, 5/7/95.
# Modeling is always made.  Others by environment.  John Allison  4/7/98.
# -----------------------------------------------------------------------

MAKEFLAGS= --no-print-directory

name := G4visualization

ifndef G4INSTALL
  G4INSTALL = ../..
endif

include $(G4INSTALL)/config/architecture.gmk
include $(G4INSTALL)/config/G4VIS_BUILD.gmk
include $(G4INSTALL)/config/interactivity.gmk

SUBDIRS := modeling
SUBLIBS := G4modeling

ifdef G4LIB_BUILD_ZLIB
  SUBDIRS += externals/zlib
  SUBLIBS += G4zlib
endif

# For Debug mode
CPPFLAGS += -DG4DEBUG_VIS_OGL
CPPFLAGS += -DG4DEBUG_VIS_OI
CPPFLAGS += -DG4DEBUG_VIS_MANAGEMENT

# Libraries which can be used without external packages or libraries...
ifdef G4VIS_BUILD
  SUBDIRS += management
  SUBLIBS += G4vis_management
  SUBDIRS += FukuiRenderer
  SUBLIBS += G4FR
  SUBDIRS += HepRep
  SUBLIBS += G4visHepRep
  SUBDIRS += RayTracer
  SUBLIBS += G4RayTracer
  SUBDIRS += VRML
  SUBLIBS += G4VRML
  SUBDIRS += Tree
  SUBLIBS += G4Tree
  SUBDIRS += XXX
  SUBLIBS += G4visXXX

ifdef G4VIS_BUILD_OPENGL_DRIVER
  SUBDIRS += externals/gl2ps
  SUBDIRS += OpenGL
  SUBLIBS += G4OpenGL
endif
ifdef G4VIS_BUILD_OI_DRIVER
  SUBDIRS += externals/gl2ps
  SUBDIRS += OpenInventor
  SUBLIBS += G4OpenInventor
endif
endif #G4VIS_BUILD

.PHONY: granular glob global clean

glob global: granular

granular:
	@for dir in $(SUBDIRS); do (cd $$dir; $(MAKE)); done

includes:
	@for dir in $(SUBDIRS); do (cd $$dir && $(MAKE) $@ ); done

clean clean_libs:
	@for dir in $(SUBDIRS); do (cd $$dir; $(MAKE) $@); done
