Revision 23839a6cb5c6ce1890674b83787f024bfdbf0c83 authored by Sergey Linev on 03 March 2015, 16:23:43 UTC, committed by Bertrand Bellenot on 04 March 2015, 08:35:14 UTC
1. Introduce central method where all kind of text drawings
   are handled. At this place decide which kind of rendering -
   plain text, simplify latex or normal MathJax is used
2. Implement correct size adjustment and alignment for
   all kinds of text output (with and without MathJax)
3. Support TMathText class - always MathJax will be used
4. Draw label in TPabeText
5. Avoid concurent calls of JSROOT.AssertPrerequisities

Signed-off-by: Bertrand Bellenot <bertrand.bellenot@cern.ch>
1 parent 3cb3124
Raw File
Makefile
#
# MAIN CINT MAKEFILE
#
# See help target for details
#
##############################################################
#
# Copyright(c) 1995~2005  Masaharu Goto (root-cint@cern.ch)
#
# For the licensing terms see the file COPYING
#
##############################################################

CINTSYSDIR := ${PWD}
export CINTSYSDIR
__CINT_BUILDDIR :=  ${PWD}
export __CINT_BUILDDIR

include Makefile.conf

CINTSYSDIR := $(shell $(G__CFG_MANGLEPATHS) "${CINTSYSDIR}" )
__CINT_BUILDDIR := $(shell $(G__CFG_MANGLEPATHS) "${__CINT_BUILDDIR}" )

# set up order target if available
MAKE_VERSION_MAJOR := $(word 1,$(subst ., ,$(MAKE_VERSION)))
MAKE_VERSION_MINOR := $(shell echo $(word 2,$(subst ., ,$(MAKE_VERSION))) | \
                              sed 's/\([0-9][0-9]*\).*/\1/')
MAKE_VERSION_MAJOR ?= 0
MAKE_VERSION_MINOR ?= 0
ORDER_ := $(shell test $(MAKE_VERSION_MAJOR) -gt 3 || \
                  test $(MAKE_VERSION_MAJOR) -eq 3 && \
                  test $(MAKE_VERSION_MINOR) -ge 80 && echo '|')

# libraries
ifeq ($(subst msvc,,$(G__CFG_ARCH)), $(G__CFG_ARCH))
CINTLIBSHARED = lib/libCint$(G__CFG_SOEXT)
CINTLIBINSTDIR = $(G__CFG_LIBDIR)
else
CINTLIBSHARED = bin/libCint$(G__CFG_SOEXT)
CINTLIBINSTDIR = $(G__CFG_BINDIR)
endif
CINTIMPLIB    = lib/libCint$(G__CFG_IMPLIBEXT)
CINTLIBSTATIC = lib/libCint_static$(G__CFG_LIBEXT)
CINT          = bin/cint$(G__CFG_EXEEXT)
RMKDEPEND     = tool/rmkdepend/rmkdepend$(G__CFG_EXEEXT)
CONFIGCINTH   = $(G__CFG_COREVERSION)/inc/configcint.h

IPATH         = $(G__CFG_INCP)$(G__CFG_COREVERSION)/inc $(G__CFG_INCP)$(G__CFG_COREVERSION)/src $(REFLEXIPATH)
CXXFLAGS      = $(G__CFG_CXXFLAGS) $(G__CFG_CXXMACROS) $(IPATH) -DG__CINTBODY -DREFLEX_CINT_MERGE -DInternal=I
CFLAGS        = $(G__CFG_CFLAGS)   $(G__CFG_CMACROS)   $(IPATH) -DG__CINTBODY

LINKSTATIC = no
#ifneq ($(subst msvc,,$(G__CFG_ARCH)),$(G__CFG_ARCH))
#  LINKSTATIC = no
#endif

.PHONY: test clean help distclean install uninstall

include build/Cint.mk
include build/libReflex.mk
include build/libCint.mk

Makefile: build/Makefile
	cp -f $< $@

############################################################################
# Common rules
############################################################################

%$(G__CFG_OBJEXT): %.cxx
	$(RMKDEPEND) -R -f$*.d -Y -w 1000 -- $(CXXFLAGS) -D__cplusplus -- $<
	$(G__CFG_CXX) $(CXXFLAGS) $(G__CFG_COMP) $< $(G__CFG_COUT)$@

%$(G__CFG_OBJEXT): %.c
	$(RMKDEPEND) -R -f$*.d -Y -w 1000 -- $(CFLAGS) -- $<
	$(G__CFG_CC) $(CFLAGS) $(G__CFG_COMP) $< $(G__CFG_COUT)$@

%$(G__CFG_EXEEXT): %$(G__CFG_OBJEXT)
	$(G__CFG_LD) $(G__CFG_LDOUT)$@ $<

ifeq ($(findstring clean,$(MAKECMDGOALS)),)
-include $(ALLDEPO:$(G__CFG_OBJEXT)=.d)
endif

##############################################################
# Cleanup
##############################################################
clean :: clean-test
	-$(G__CFG_RM) MAKEINFO || true

clean-test:
	-[ $(G__CFG_OBJEXT) ] && $(G__CFG_RM) test/*$(G__CFG_OBJEXT) || true
	-[ $(G__CFG_EXEEXT) ] && $(G__CFG_RM) test/*$(G__CFG_EXEEXT) || true
	-[ $(G__CFG_SOEXT) ] && $(G__CFG_RM) test/*$(G__CFG_SOEXT) || true
	-[ $(G__CFG_LIBEXT) ] && $(G__CFG_RM) test/*$(G__CFG_LIBEXT) || true
	-[ $(G__CFG_IMPLIBEXT) ] && $(G__CFG_RM) test/*$(G__CFG_IMPLIBEXT) || true
	-$(G__CFG_RM) test/test.dll test/Makefile test/compiled test/interpreted \
	  test/*.manifest test/*.ilk || true
	-$(G__CFG_RM) test/Makefile || true
	-$(G__CFG_RM) test/Makefile || true

distclean :: clean
	rm -f bin/cint bin/makecint bin/cint-config bin/cint_tmp
ifneq ($(G__CFG_OBJEXT),)
	find . -name \*$(G__CFG_OBJEXT) -exec rm {} \; || true
endif
ifneq ($(G__CFG_LIBEXT),)
	find . -name \*$(G__CFG_LIBEXT) -exec rm {} \; || true
endif
	find . -name \*.d -exec rm {} \; || true
	find . -name \*.dll -exec rm {} \; || true
	find . -name \*.manifest -exec rm {} \; || true
	find . -name \*.exp -exec rm {} \; || true
	find . -name \*.pdb -exec rm {} \; || true

cintreflextest: REFLEXTESTFLAGS = -m -r

debugtest: TESTDEBUG = -DDEBUG

ifeq ($(G__CFG_COREVERSION),cint)
  TESTFLAGS ?= --ignore-diff-errors -k --hide-known-defects
else
  TESTFLAGS ?= -k --hide-known-defects
endif

test debugtest cintreflextest:
	(cd test && \
	PATH=$$PWD/../bin:.:$$PATH \
	LD_LIBRARY_PATH=$$PWD/../lib:.:$$LD_LIBRARY_PATH \
	DYLD_LIBRARY_PATH=$$PWD/../lib:.:$$DYLD_LIBRARY_PATH \
	cint$(G__CFG_EXEEXT) $(TESTDEBUG) testall.cxx $(TEST) $(TESTFLAGS) $(REFLEXTESTFLAGS) )

ifeq ($(findstring clean,$(MAKECMDGOALS)),)
Makefile: $(RMKDEPEND)

Makefile.conf $(CONFIGCINTH): configure
	@[ -x reconfigure ] && ./reconfigure || ( \
	echo "Run ./configure first!" ; \
	./configure -h ; \
	exit 1 )
endif

MAKEINFO:  configure $(CONFIGCINTH)
	echo NOT YET IMPLEMENTED.

help:
	@echo CINT Makefile targets:
	@echo '  make:			Build default targets (marked by * below)'
ifeq ($(G__CFG_WITHPREFIX),1)
	@echo '  make install:		Install CINT into directories specified to configure'
endif
	@echo '  make bin/cint'$(G__CFG_EXEEXT)':	Build CINT executable [*]'
	@echo '  make static:		Build static cint library [*]'
	@echo '  make shared:		Build cint library'
	@echo '  make bin/makecint'$(G__CFG_EXEEXT)':	Build CINT Makefile generator [*]'
	@echo '  make dlls:		Build STL dlls (you should do this at least once)'
	@echo '  make reflex:           Build the Reflex shared library'
	@echo '  make MAKEINFO:	Write (deprecated) MAKEINFO file'
	@echo '  make test:		Run test suite (TEST=some.cxx to run only some.cxx)'
	@echo '  make debugtest:	Run test suite in debug mode (TEST=some.cxx to run only some.cxx)'
	@echo '  make clean:		Remove all files created during a build'
	@echo '  make distclean:	Remove all files created during a build'
ifeq ($(G__CFG_WITHPREFIX),1)
	@echo '  make uninstall:	Uninstall CINT from directories specified to configure'
endif
	@echo '  make deb:	        Create a CINT debian package in ../'
	@echo '  make debinstall:	Install the debian package generated by the deb target'
	@echo '  make help:		Get list of CINT Makefile targets'

# The install section takes into account the value of the DESTDIR variable
# which can be used to redirect the installation at the 'make install'
# stage, without effecting the hardcoded (during ./configure) paths
# This is useful (or even required) when building packages like .deb or .rpm

FINDALLBUTSVN=-type f \! -path '*/.svn/*' \! -name SConscript \! -name Makefile.am

ifeq ($(G__CFG_WITHPREFIX),1)
install:
	if [ "x$(G__CFG_INCLUDEDIRCINT)" = "x" ]; then \
	  echo 'You must run "./configure --prefix" or "./configure --prefix=..." to be able to call "make $@"!'; \
	  exit 1; \
	fi
	if [ ! -d $(DESTDIR)$(G__CFG_BINDIR) ]; then mkdir -p $(DESTDIR)$(G__CFG_BINDIR); fi
	cp $(CINT)     $(DESTDIR)$(G__CFG_BINDIR)/$(notdir $(CINT))
	cp $(MAKECINT) $(DESTDIR)$(G__CFG_BINDIR)/$(notdir $(MAKECINT))
	if [ -f $(CINT).manifest ]; then \
	   cp bin/*.manifest     $(DESTDIR)$(G__CFG_BINDIR); \
	fi
	if [ -f bin/cint-config ] ; then cp bin/cint-config $(DESTDIR)$(G__CFG_BINDIR)/ ; fi
# install manual pages
	if [ ! -d $(DESTDIR)$(G__CFG_MANDIR)/man1 ] ; then \
	  mkdir -p $(DESTDIR)$(G__CFG_MANDIR)/man1; \
	fi
	cp doc/man1/cint.1 $(DESTDIR)$(G__CFG_MANDIR)/man1/cint.1
	cp doc/man1/makecint.1 $(DESTDIR)$(G__CFG_MANDIR)/man1/makecint.1

	if [ ! -d $(DESTDIR)$(G__CFG_LIBDIR) ]; then mkdir -p $(DESTDIR)$(G__CFG_LIBDIR); fi
	cp $(CINTLIBSHARED) $(DESTDIR)$(CINTLIBINSTDIR)/
	if [ -f $(CINTIMPLIB) ] ;   then cp $(CINTIMPLIB)    $(DESTDIR)$(G__CFG_LIBDIR)/ ; fi
	cp $(CINTLIBSTATIC) $(DESTDIR)$(G__CFG_LIBDIR)/
	if [ -f $(REFLEXLIB) ] ;    then cp $(REFLEXLIB)     $(DESTDIR)$(G__CFG_LIBDIR)/ ; fi
	if [ -f $(REFLEXSO) ] ;     then cp $(REFLEXSO)      $(DESTDIR)$(CINTLIBINSTDIR)/ ; fi
	if [ -f $(REFLEXIMPLIB) ] ; then cp $(REFLEXIMPLIB)  $(DESTDIR)$(G__CFG_LIBDIR)/ ; fi

	if [ ! -d $(DESTDIR)$(G__CFG_INCLUDEDIRCINT) ] ; then mkdir -p $(DESTDIR)$(G__CFG_INCLUDEDIRCINT) ; fi
	$(G__CFG_RM) $(DESTDIR)$(G__CFG_INCLUDEDIRCINT)/*
	cp $(G__CFG_COREVERSION)/inc/*.h $(DESTDIR)$(G__CFG_INCLUDEDIRCINT)/
	for f in `find reflex/inc $(FINDALLBUTSVN)`; do \
	  d=$(DESTDIR)$(G__CFG_INCLUDEDIRCINT)/`dirname $$f | sed 's,^reflex/inc,,'`;\
	  if [ ! -d $$d ]; then mkdir -p $$d; fi; \
	  cp $$f $$d/; done
	if [ ! -d $(DESTDIR)$(G__CFG_DATADIRCINT) ] ; then mkdir -p $(DESTDIR)$(G__CFG_DATADIRCINT) ; fi
	$(G__CFG_RM) $(DESTDIR)$(G__CFG_DATADIRCINT)/*
	for f in `cd $(G__CFG_COREVERSION); find include stl main lib $(FINDALLBUTSVN)`; do \
	  d=$(DESTDIR)$(G__CFG_DATADIRCINT)/$(G__CFG_COREVERSION)/`dirname $$f`;\
	  if [ ! -d $$d ]; then mkdir -p $$d; fi; \
	  cp $(G__CFG_COREVERSION)/$$f $$d/; done

uninstall:
	if [ "x$(G__CFG_INCLUDEDIRCINT)" = "x" ]; then \
	  echo 'You must run "./configure --prefix" or "./configure --prefix=..." to be able to call "make $@"!'; \
	  exit 1; \
	fi
	$(G__CFG_RM) $(DESTDIR)$(G__CFG_BINDIR)/$(CINT) $(DESTDIR)$(G__CFG_BINDIR)/$(MAKECINT) $(DESTDIR)$(G__CFG_BINDIR)/cint-config
	$(G__CFG_RM) $(DESTDIR)$(G__CFG_LIBDIR)/$(CINTLIBSHARED)
	$(G__CFG_RM) $(DESTDIR)$(G__CFG_LIBDIR)/$(CINTIMPLIB)
	$(G__CFG_RM) $(DESTDIR)$(G__CFG_LIBDIR)/$(CINTLIBSTATIC)
	$(G__CFG_RM) $(DESTDIR)$(G__CFG_LIBDIR)/$(REFLEXLIB)
	$(G__CFG_RM) $(DESTDIR)$(G__CFG_LIBDIR)/$(REFLEXSO)
	$(G__CFG_RM) $(DESTDIR)$(G__CFG_LIBDIR)/$(REFLEXIMPLIB)
	$(G__CFG_RM) $(DESTDIR)$(G__CFG_INCLUDEDIRCINT)
	$(G__CFG_RM) $(DESTDIR)$(G__CFG_DATADIRCINT)

endif # WITHPREFIX


ifeq ($(INCLUDE_DEB_MK),1)
include build/deb.mk
else
deb :
	$(MAKE) INCLUDE_DEB_MK=1 deb
debinstall :
	$(MAKE) INCLUDE_DEB_MK=1 debinstall
endif

ifeq ($(INCLUDE_RPM_MK),1)
include build/rpm.mk
else
rpm :
	$(MAKE) INCLUDE_RPM_MK=1 rpm
rpminstall :
	$(MAKE) INCLUDE_RPM_MK=1 rpminstall
endif

back to top