#########################################

# Makefile for MyGui.
# shell: make -f MakeFile4MyGuiMac 

ARCH          = $(shell root-config --arch)

CXX           =
ObjSuf        = o
SrcSuf        = cxx
ExeSuf        =
DllSuf        = so
OutPutOpt     = -o 

ROOTCFLAGS   := $(shell root-config --cflags)
ROOTLIBS     := $(shell root-config --libs)
ROOTGLIBS    := $(shell root-config --glibs)
ROOTLIBDIR   := $(shell root-config --libdir)

# Linux 
#CXX           = g++
#CXXFLAGS      = -O -Wall -fPIC
#CXXFLAGS      = -O0 -g -Wall -fPIC
#LD            = g++
#LDFLAGS       = -O
#LDFLAGS       = -O0 -g
#SOFLAGS       = -shared

# MacOSX
CXX           = c++
CXXFLAGS      = -O -pipe -Wall
LD            = c++
LDFLAGS       = -O -Xlinker -bind_at_load -flat_namespace
# The SOFLAGS will be used to create the .dylib; the .so will
# be created separately
DllSuf        = dylib
SOFLAGS       = -dynamiclib -flat_namespace -undefined suppress

CXXFLAGS     += $(ROOTCFLAGS)
LIBS          = $(ROOTLIBS) $(SYSLIBS)
GLIBS         = $(ROOTGLIBS) $(SYSLIBS)

#########################################

GUIS   = MySub.$(SrcSuf) MyGui.$(SrcSuf) MyGuiDict.$(SrcSuf)
GUIO   = MySub.$(ObjSuf) MyGui.$(ObjSuf) MyGuiDict.$(ObjSuf)
GUI    = MyGui(ExeSuf)

OBJS          = $(GUIO)

PROGRAMS      = $(GUI)

#########################################

.SUFFIXES: .$(SrcSuf) .$(ObjSuf) .$(DllSuf)

all:            $(PROGRAMS)

$(GUI):     $(GUIO)
		$(LD) $(LDFLAGS) $^ $(GLIBS) $(OutPutOpt)$@
		@echo "$@ done"

MyGuiDict.$(SrcSuf): MySub.h MyGui.h MyGuiLinkDef.h
		@echo "Generating dictionary $@..."
		@rootcint -f $@ -c $^

#########################################

.$(SrcSuf).$(ObjSuf):
		$(CXX) $(CXXFLAGS) -c $<

#########################################



