Makefile is able to use papi libs not installed
This commit is contained in:
parent
6b9777cb9b
commit
a29aafe25e
|
@ -6,8 +6,17 @@ INCDIR:=include
|
|||
LIBDIR:=lib
|
||||
LOGDIR:=logs
|
||||
LOCALDIR:=$(HOME)/local
|
||||
PAPIHIGHLEVELLIBDIR:=lib
|
||||
PAPIHIGHLEVELINCDIR:=include
|
||||
|
||||
# PHL stands for PAPI High Level
|
||||
PHL_LIB_INSTALLDIR:=lib
|
||||
PHL_INC_INSTALLDIR:=lib
|
||||
PHL_LIBDIR:=lib
|
||||
PHL_INCDIR:=include
|
||||
PHLDIR:=../papihighlevel
|
||||
PAPI_LIB_INSTALLDIR:=lib
|
||||
PAPIDIR:=$(PHLDIR)/papi
|
||||
PAPI_LIBDIR:=src
|
||||
PAPI_PFMDIR:=$(PAPI_LIBDIR)/libpfm-3.y/lib
|
||||
CALCDIR:=calculation
|
||||
COMMDIR:=communication
|
||||
|
||||
|
@ -15,7 +24,9 @@ COMMDIR:=communication
|
|||
# I know -finline-functions and -finline-functions-called-once are enabled by
|
||||
# -O3 but I did this in case gcc behaviour change one day
|
||||
CFLAGS:=-c -O3 -finline-functions -finline-functions-called-once -Wall -Werror
|
||||
LDFLAGS:=-L$(LIBDIR) -L$(LOCALDIR)/$(PAPIHIGHLEVELLIBDIR) -Wl,-rpath-link,$(HOME)/local/lib -lpthread -lpapihighlevel -ldl
|
||||
LDFLAGS:=-L$(LIBDIR) -L$(LOCALDIR)/$(PHL_LIB_INSTALLDIR) -L$(PHLDIR)/$(PHL_LIBDIR)
|
||||
LDFLAGS:=$(LDFLAGS) -Wl,-rpath-link,$(LOCALDIR)/$(PAPI_LIB_INSTALLDIR):$(PAPIDIR)/$(PAPI_LIBDIR):$(PAPIDIR)/$(PAPI_PFMDIR)
|
||||
LDFLAGS:=$(LDFLAGS) -lpthread -lpapihighlevel -ldl
|
||||
|
||||
# Executables
|
||||
CC=gcc
|
||||
|
@ -49,7 +60,7 @@ $(LIBDIR)/$(COMMDIR)/lib%.a: $(OBJDIR)/$(COMMDIR)/%.o $(patsubst %,$(OBJDIR)/$(C
|
|||
$(LIBDIR)/$(CALCDIR)/libcalc_%.so.1: $(OBJDIR)/$(CALCDIR)/calc_%.o
|
||||
if [ ! -d $(LIBDIR) ] ; then mkdir $(LIBDIR) ; fi
|
||||
if [ ! -d $(LIBDIR)/$(CALCDIR) ] ; then mkdir $(LIBDIR)/$(CALCDIR) ; fi
|
||||
$(CC) $(LDFLAGS) -shared -Wl,-soname,libcalc_$*.so.1 -o $@ $<
|
||||
$(CC) -shared -Wl,-soname,libcalc_$*.so.1 -o $@ $<
|
||||
cd $(@D) ; ln -sf libcalc_$*.so.1 libcalc_$*.so
|
||||
|
||||
# Compile lib specific source files
|
||||
|
@ -102,10 +113,10 @@ $(OBJDIR)/$(COMMDIR)/%.o: $(SRCDIR)/$(COMMDIR)/$$(*F).c $(INCDIR)/$$(*D)_comm.h
|
|||
if [ ! -d $(OBJDIR)/$(COMMDIR) ] ; then mkdir $(OBJDIR)/$(COMMDIR) ; fi
|
||||
if [ ! -d $(OBJDIR)/$(COMMDIR)/$(*D) ] ; then mkdir $(OBJDIR)/$(COMMDIR)/$(*D) ; fi
|
||||
cd $(INCDIR) ; ln -sfT $(*D)_comm.h specific_comm.h
|
||||
$(CC) $(CFLAGS) -I$(INCDIR) -I$(LOCALDIR)/$(PAPIHIGHLEVELINCDIR) $< -o $@
|
||||
$(CC) $(CFLAGS) -I$(INCDIR) $< -o $@
|
||||
|
||||
$(OBJDIR)/%.o: $(SRCDIR)/$$(*F).c $(INCDIR)/$$(*D)_comm.h $(INCDIR)/commtech.h
|
||||
if [ ! -d $(OBJDIR) ] ; then mkdir $(OBJDIR) ; fi
|
||||
if [ ! -d $(OBJDIR)/$(*D) ] ; then mkdir $(OBJDIR)/$(*D) ; fi
|
||||
cd $(INCDIR) ; ln -sfT $(*D)_comm.h specific_comm.h
|
||||
$(CC) $(CFLAGS) -I$(INCDIR) -I$(LOCALDIR)/$(PAPIHIGHLEVELINCDIR) $< -o $@
|
||||
$(CC) $(CFLAGS) -I$(INCDIR) -I$(LOCALDIR)/$(PHL_INCDIR) -I../$(PHLDIR)/$(PHL_INCDIR) $< -o $@
|
||||
|
|
Loading…
Reference in New Issue