#
# Pablo System: Top-level Makefile
#
TOP := .

.PHONY : Makefile $(TOP)/Makefile.defines   # explicitly mark PHONY to save time
include $(TOP)/Makefile.defines		    # Pablo configuration parameters

#
# Default target: all 
#	Composed of subgoals for individual parts of Pablo
#
.PHONY : all timestamp sddflib appdefaults visual instrument

SUBGOALS := timestamp sddflib appdefaults visual

ifeq ($(strip $(BUILD_INSTR)),yes)
SUBGOALS += instrument
endif

all:	$(SUBGOALS)
	@echo "Make of Pablo environment is finished"
	date

timestamp:
	@date
	@echo "Beginning make of Pablo environment - configuration file:"
	@ls -l Makefile.defines

sddflib:
	$(MAKE) -C SDDFlibrary 

appdefaults:
	$(MAKE) -C Visual/AppDefaults 

visual:
	$(MAKE) -C Visual/Src 

instrument:
	(cd Instrument; make BINDIR=$(PABLOBIN) LIBDIR=$(PABLOLIB)	\
	    INCDIR=$(PABLOINCLUDE) PABLOAPPDEFAULTS=$(PABLOAPPDEFAULTS)	\
	    MOTIFLIB=$(MOTIF_LIBDIR) MOTIFINC=$(MOTIF_INCDIR)		\
	    X11R5LIB=$(X11_LIBDIR) X11R5INC=$(X11_INCDIR)		\
	    $(INSTR_FLAGS)					all)

#
# Targets install and clean
#
.PHONY : install clean

install: 
	$(MAKEDIRHIER) $(PABLODATAFILES)
	$(MAKE) -C SDDFlibrary install
	$(MAKE) -C Visual/AppDefaults install
	$(MAKE) -C Visual/Src install
ifeq ($(strip $(BUILD_INSTR)),yes)
	(cd Instrument; make BINDIR=$(PABLOBIN) LIBDIR=$(PABLOLIB)	\
	    INCDIR=$(PABLOINCLUDE) PABLOAPPDEFAULTS=$(PABLOAPPDEFAULTS)	\
	    MOTIFLIB=$(MOTIF_LIBDIR) MOTIFINC=$(MOTIF_INCDIR)		\
	    X11R5LIB=$(X11_LIBDIR) X11R5INC=$(X11_INCDIR)		\
	    $(INSTR_FLAGS)					install)
endif

clean:
	$(MAKE) -C SDDFlibrary clean
	$(MAKE) -C Visual/AppDefaults clean
	$(MAKE) -C Visual/Src clean
ifeq ($(strip $(BUILD_INSTR)),yes)
	(cd Instrument; make BINDIR=$(PABLOBIN) LIBDIR=$(PABLOLIB)	\
	    INCDIR=$(PABLOINCLUDE) PABLOAPPDEFAULTS=$(PABLOAPPDEFAULTS)	\
	    MOTIFLIB=$(MOTIF_LIBDIR) MOTIFINC=$(MOTIF_INCDIR)		\
	    X11R5LIB=$(X11_LIBDIR) X11R5INC=$(X11_INCDIR)		\
	    $(INSTR_FLAGS)					clean)
endif

