Makefile /usr/bin/ld: cannot find -l (MyClass)

Thanks for the answer @Wile_E_Coyote,

I still don’t get how to fix this, :confused:

$ ls
doMyAnalysisHeavyIon.C               HxSimEventDict.cxx        HxSimParticle.cxx                       HxSimParticleDict_rdict.pcm  pythia_heavy_ion_pPb.root
doMyAnalysisHeavyIon.o               HxSimEventDict.o          HxSimParticle_cxx_ACLiC_dict_rdict.pcm  HxSimParticle.h              pythia_heavy_ion_pp.root
HxSimEvent.cxx                       HxSimEventDict_rdict.pcm  HxSimParticle_cxx.d                     HxSimParticleLinkDef.h       pythia_HI.png
HxSimEvent_cxx_ACLiC_dict_rdict.pcm  HxSimEvent.h              HxSimParticle_cxx.so                    HxSimParticle.o
HxSimEvent_cxx.d                     HxSimEventLinkDef.h       HxSimParticleDict.cxx                   Makefile
HxSimEvent_cxx.so                    HxSimEvent.o              HxSimParticleDict.o                     pythia_heavy_ion_PbPb.root

Makefile:

all: libs programs

libs: HxSimParticle_cxx.so libHxSimEvent_cxx.so

programs  = doMyAnalysisHeavyIon

#LHAPDF    = LHAPDF-6.1.6
PYTHIA8   = /home/andre/pythia8235
HXPATH    = /home/andre/pythia8235/examples/Analysis

# define compiler/linker flags
CXX       = g++

CXXFLAGS  = -O3 -Wall -fPIC
CXXFLAGS += $(shell root-config --cflags)

LDFLAGS   = -O3 -Wl,-rpath,'$(HXPATH)'
LDFLAGS  += $(shell root-config --ldflags)

SOFLAGS   = -shared

ROOTLIBS  = $(shell root-config --libs --glibs --evelibs)

PROGRAMS = doMyAnalysisHeavyIon

# compile/link HxSimEvent
HxSimEvent_cxx.so: HxSimEventDict.o HxSimEvent.o HxSimParticleDict.o HxSimParticle.o
	$(CXX) $(SOFLAGS) $(LDFLAGS) $^ $(ROOTLIBS) -o $@ 

HxSimEvent.o: HxSimEvent.cxx
	$(CXX) $(CXXFLAGS) -c $^ -o $@ 

HxSimEventDict.o: HxSimEventDict.cxx
	$(CXX) $(CXXFLAGS) -c $^ -o $@ 

HxSimEventDict.cxx: HxSimEvent.h HxSimEventLinkDef.h
	rootcint -f $@ -c $(CXXFLAGS) -p $^

# compile/link HxSimParticle
HxSimParticle_cxx.so: HxSimParticleDict.o HxSimParticle.o
	$(CXX) $(SOFLAGS) $(LDFLAGS) $^ $(ROOTLIBS) -o $@ 

HxSimParticle.o: HxSimParticle.cxx
	$(CXX) $(CXXFLAGS) -c $^ -o $@ 

HxSimParticleDict.o: HxSimParticleDict.cxx
	$(CXX) $(CXXFLAGS) -c $^ -o $@ 

HxSimParticleDict.cxx: HxSimParticle.h HxSimParticleLinkDef.h
	rootcint -f $@ -c $(CXXFLAGS) -p $^

# compile/link doMyAnalysisHeavyIon 
doMyAnalysisHeavyIon: doMyAnalysisHeavyIon.o HxSimEvent_cxx.so HxSimParticle_cxx.so
	$(CXX) $(CXXFLAGS) $(LDFLAGS) $^ $(ROOTLIBS) -o @

doMyAnalysisHeavyIon.o: doMyAnalysisHeavyIon.C
	$(CXX) $(CXXFLAGS) -c $^ -o $@

.PHONY: clean distclean

# remove object files
clean:
	@rm -f *.o

# remove objects, libraries and dicts
distclean: clean
	@rm -f *.so *Dict.* $(PROGRAMS)

My problem is in this part:

# compile/link doMyAnalysisHeavyIon 
doMyAnalysisHeavyIon: doMyAnalysisHeavyIon.o HxSimEvent_cxx.so HxSimParticle_cxx.so
	$(CXX) $(CXXFLAGS) $(LDFLAGS) $^ $(ROOTLIBS) -o # Here