Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/config/moc.gmk

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /config/moc.gmk (Version 11.3.0) and /config/moc.gmk (Version 11.1.1)


  1 # --------------------------------------------      1 # ----------------------------------------------------------------
  2 # Common part of GNUmakefile for libraries.  J      2 # Common part of GNUmakefile for libraries.  John Allison, 5/7/95.
  3 # --------------------------------------------      3 # ----------------------------------------------------------------
  4 # Libraries are created according to G4SYSTEM.      4 # Libraries are created according to G4SYSTEM. G.Cosmo, 11/6/96.
  5 # Introduced G4LIBDIR and G4TMPDIR. G.Cosmo, 2      5 # Introduced G4LIBDIR and G4TMPDIR. G.Cosmo, 23/6/98.
  6 # Introduced Qt moc rule, L.Garnier 16/2/08.        6 # Introduced Qt moc rule, L.Garnier 16/2/08.
  7                                                     7 
  8 ifndef G4LIBDIR                                     8 ifndef G4LIBDIR
  9   G4LIBDIR := $(G4LIB)/$(G4SYSTEM)                  9   G4LIBDIR := $(G4LIB)/$(G4SYSTEM)
 10 endif                                              10 endif
 11 G4TMPDIR := $(G4TMP)/$(G4SYSTEM)/$(name)           11 G4TMPDIR := $(G4TMP)/$(G4SYSTEM)/$(name)
 12                                                    12 
 13 ifneq ($(G4INTY_BUILD_QT),)                        13 ifneq ($(G4INTY_BUILD_QT),)
 14   moc_inc := $(shell ($(GREP) -l "Q_OBJECT" in     14   moc_inc := $(shell ($(GREP) -l "Q_OBJECT" include/*.hh))
 15   moc_sources := $(patsubst include/%.hh, moc/     15   moc_sources := $(patsubst include/%.hh, moc/%_moc.cc, $(moc_inc))
 16   moc_objects := $(patsubst moc/%_moc.cc,$(G4T     16   moc_objects := $(patsubst moc/%_moc.cc,$(G4TMPDIR)/%_moc.o,$(moc_sources))
 17   moc_dependencies := $(patsubst moc/%_moc.cc,     17   moc_dependencies := $(patsubst moc/%_moc.cc,$(G4TMPDIR)/%_moc.d,$(moc_sources))
 18 endif                                              18 endif
 19                                                    19 
 20                                                    20 
 21 ##############################################     21 ###############################################################################
 22 #                                                  22 #
 23 # Actual moc files for Qt files                    23 # Actual moc files for Qt files
 24 #                                                  24 #
 25 # moc sources and headers: used for Qt signal/     25 # moc sources and headers: used for Qt signal/slot 
 26 # - all headers which use signals/slots have t     26 # - all headers which use signals/slots have the macro "Q_OBJECT" present
 27 #   in the class definitions; these all need t     27 #   in the class definitions; these all need to be processed by the
 28 #   "meta object compiler (moc)" which generat     28 #   "meta object compiler (moc)" which generates extra source code to
 29 #   implement the signal/slots, i.e., if "foo.     29 #   implement the signal/slots, i.e., if "foo.h" contains the token "Q_OBJECT"
 30 #   it will be used by moc to generate the fil     30 #   it will be used by moc to generate the file "foo_moc.cpp" (the _moc. is
 31 #   just an arbitrary extension to make it eas     31 #   just an arbitrary extension to make it easier to identify sources
 32 #   generated by moc).                             32 #   generated by moc).
 33                                                    33 
 34                                                    34 
 35 ifneq ($(G4INTY_BUILD_QT),)                        35 ifneq ($(G4INTY_BUILD_QT),)
 36 $(G4TMPDIR)/%_moc.d: moc/%_moc.cc                  36 $(G4TMPDIR)/%_moc.d: moc/%_moc.cc
 37   @echo Making dependency for moc file $< ...      37   @echo Making dependency for moc file $< ...
 38   @if [ ! -d $(G4TMPDIR) ] ; then mkdir -p $(G     38   @if [ ! -d $(G4TMPDIR) ] ; then mkdir -p $(G4TMPDIR)  ;fi
 39   @set -e;\                                        39   @set -e;\
 40   g++ $(GPPFLAGS) $(CPPFLAGS) -w -xc++ $< |\       40   g++ $(GPPFLAGS) $(CPPFLAGS) -w -xc++ $< |\
 41   sed 's!$*\.o!$(G4TMPDIR)/& $@!' >$@;\            41   sed 's!$*\.o!$(G4TMPDIR)/& $@!' >$@;\
 42   [ -s $@ ] || rm -f $@                            42   [ -s $@ ] || rm -f $@
 43                                                    43 
 44 moc/%_moc.cc: include/%.hh                         44 moc/%_moc.cc: include/%.hh
 45   @echo Making moc file for $< ...                 45   @echo Making moc file for $< ...
 46   @if [ ! -d moc ] ; then mkdir -p moc  ;fi        46   @if [ ! -d moc ] ; then mkdir -p moc  ;fi
 47   @if [ `$(QTMOC) -v 2>&1 | $(GREP) "Qt 3" | w     47   @if [ `$(QTMOC) -v 2>&1 | $(GREP) "Qt 3" | wc -l ` -gt 0 ]; then \
 48   $(QTMOC) -o $@ $<;\                              48   $(QTMOC) -o $@ $<;\
 49   else $(QTMOC) $(MOC_MACRO) -o $@ $<; \           49   else $(QTMOC) $(MOC_MACRO) -o $@ $<; \
 50   fi;                                              50   fi;
 51                                                    51 
 52 # could be better if we not duplicate this rul     52 # could be better if we not duplicate this rule from common.gmk...
 53 $(G4TMPDIR)/%_moc.o: moc/%_moc.cc                  53 $(G4TMPDIR)/%_moc.o: moc/%_moc.cc
 54   @echo Compiling $*.cc ...                        54   @echo Compiling $*.cc ...
 55 ifdef CPPVERBOSE                                   55 ifdef CPPVERBOSE
 56   @echo Compiling moc file $*.cc ...               56   @echo Compiling moc file $*.cc ...
 57   $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(OUT_OBJ)     57   $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(OUT_OBJ)$(G4TMPDIR)/$(*F)_moc.o moc/$*_moc.cc
 58 else                                               58 else
 59   @$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(OUT_OBJ     59   @$(CXX) $(CXXFLAGS) $(CPPFLAGS) -c $(OUT_OBJ)$(G4TMPDIR)/$(*F)_moc.o moc/$*_moc.cc
 60 endif                                              60 endif
 61 endif                                              61 endif