This file is indexed.

/usr/share/HepMC/examples/fio/GNUmakefile is in hepmc-examples 2.06.09-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
################################################################################
# Makefile for building a HepMC executable with the gcc compiler
#
# Matt.Dobbs@CERN.CH  1.2000
#
# This makefiles also works to compile the example programs.
# I.E.: syntax for compiling the example_MyPythia.cc example:
#       gmake example_MyPythia.exe
# or simply   gmake all     to compile all examples.
#
################################################################################ Define directory paths 
#    You may have to change GENSERdir and/or other variables
#
  HepMCdir             = /usr
  HepMClib             = -lHepMC
  HepMCfiolib          = -lHepMCfio
  GENSERdir            =  
  Pythia_LIB	= -lpythia6
  Herwig_LIB	= -lherwig6

################################################################################ Compiler options
#
  CXX           = g++
  F77		= gfortran
  INCLUDES 	= -I$(HepMCdir)/include -I$(CLHEPdir)/include
  CXXFLAGS      =  -ansi -pedantic -Wall -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security $(INCLUDES)
ifeq "$(CXX)" "g++"
   FLAGS 	= $(DFLG) -fno-second-underscore $(INCDIR)
else
  FLAGS 	= $(DFLG) $(INCDIR)
endif

  LINK_LIBS     = -Wl,-z,relro 

UNAME = $(shell uname)
ifneq "$(UNAME)" "Darwin"
  LINK_LIBS     += -Wl,-rpath -Wl,$(HepMCdir)/lib
endif

ifeq "$(UNAME)" "Linux"
ifeq "$(F77)" "gfortran"
    LINK_LIBS     += -lgfortran
else
    LINK_LIBS     += -lg2c 
endif
endif

  initpydata_OBJ= initpydata.o
  pythia_OBJ    = initPythia.o initpydata.o
  HDRS          = $(HepMCdir)/include/HepMC/*.h *.h
  EXAMPLES	= example_MyHerwig.exe	\
		  example_MyPythia.exe	\
		  example_MyPythiaOnlyToHepMC.exe	\
		  example_PythiaStreamIO.exe	\
		  testPythiaCopies.exe	\
		  testHerwigCopies.exe

################################################################################ definition of the compiler options
#	-I location of directory containing include files
#	-L location of directory containing libraries
#       -lname include the library from -L location called libname.a
#	   -lg2c is the library containing info on converting fortran to C
#          -lf   is the library containing the intrinsic for HPUX only.
#	-shared make a shared library as output
#	-fPIC produce position independent code
#        necessary on some platforms (including HPUX) for -shared
# 	-fpic ^^ same(?)
#	-O optimizes
#	-g produces output for the debugger
#       -pg produces output for gprof profiler
#       note: if you want to see all warnings and ensure ansi standard 
#             compatibility, use:
#             -pipe -ansi -pedantic -fnonnull-objects \
#             -W -Wall -Wwrite-strings -Wpointer-arith -Wnested-externs \
#             -Woverloaded-virtual -Wbad-function-cast -fnonnull-objects
#       The proper order for cernlib libraries is:
#       -lpawlib -lgraflib -lgrafX11 -lmathlib -lkernlib -lpacklib -ljetset74
#
# makefile syntax:
#        for target thedir/target.suf from source anotherdir/source.suf2
#        ${*D}  = thedir
#        ${*F}  = target
#        $*     = thedir/target
#        $@     = thedir/target.suf
#        $<     = anotherdir/source.suf2
#  

###############################################################################
#
.SUFFIXES:      .o .cxx .f .exe
all:	$(EXAMPLES)

example_MyHerwig.exe: example_MyHerwig.o
	@echo "Building $@ ..."
	$(CXX) $(FLAGS) example_MyHerwig.o \
		$(HepMClib) $(HepMCfiolib) \
	        $(Herwig_LIB) $(LINK_LIBS) -o $@

example_MyPythia.exe: $(initpydata_OBJ) $(pythia_OBJ) example_MyPythia.o
	@echo "Building $@ ..."
	$(CXX) $(FLAGS) $(pythia_OBJ) example_MyPythia.o \
		$(HepMClib) $(HepMCfiolib) \
	        $(Pythia_LIB) $(LINK_LIBS) -o $@

example_MyPythiaOnlyToHepMC.exe: $(initpydata_OBJ) $(pythia_OBJ) example_MyPythiaOnlyToHepMC.o
	@echo "Building $@ ..."
	$(CXX) $(FLAGS) $(pythia_OBJ) example_MyPythiaOnlyToHepMC.o \
		$(HepMClib) $(HepMCfiolib) \
	        $(Pythia_LIB) $(LINK_LIBS) -o $@

example_PythiaStreamIO.exe: $(initpydata_OBJ) $(pythia_OBJ) example_PythiaStreamIO.o
	@echo "Building $@ ..."
	$(CXX) $(FLAGS) $(pythia_OBJ) example_PythiaStreamIO.o \
		$(HepMClib) $(HepMCfiolib) \
	        $(Pythia_LIB) $(LINK_LIBS) -o $@

testPythiaCopies.exe: $(initpydata_OBJ) $(pythia_OBJ) testPythiaCopies.o
	@echo "Building $@ ..."
	$(CXX) $(FLAGS) $(pythia_OBJ) testPythiaCopies.o \
		$(HepMClib) $(HepMCfiolib) \
	        $(Pythia_LIB) $(LINK_LIBS) -o $@

testHerwigCopies.exe: testHerwigCopies.o
	@echo "Building $@ ..."
	$(CXX) $(FLAGS) testHerwigCopies.o \
		$(HepMClib) $(HepMCfiolib) \
	        $(Herwig_LIB) $(LINK_LIBS) -o $@

###############################################################################
# instructions for building a .o file from a .cxx file
#
.cc.o:         $(HDRS) $<
	@echo "Compiling $< with $(CXX) ..."
	@$(CXX) $(CXXFLAGS) -c $< -o $@

###############################################################################
# instructions for building a .o file from a .f file
#
.f.o:           $<
	@echo "Compiling $< with $(F77) ..."
	@$(F77) $(FLAGS) -c $< -o $@

###############################################################################
# gmake clean       removes all garbage from HepMC directories.
#
clean:
	rm -f *.o

###############################################################################
# gmake distclean       removes all compiled libraries, executables, +garbage
#                       to prepare the package for distribution
distclean: 
	$(MAKE) clean --no-print-directory
	rm -f *.exe
	rm -f *.dat