Blame src/Rules.perfctr

Packit Service a1973e
DESCR = "Linux with PerfCtr $(VERSION) patch and library"
Packit Service a1973e
Packit Service a1973e
ifneq (/usr,$(PERFCTR_PREFIX))
Packit Service a1973e
PWD = $(shell pwd)
Packit Service a1973e
ifeq (,$(PERFCTR_LIB_PATH))
Packit Service a1973e
ifeq (,$(PERFCTR_ROOT))
Packit Service a1973e
	PERFCTR_ROOT := $(PWD)/perfctr-$(VERSION)
Packit Service a1973e
endif
Packit Service a1973e
	PERFCTR_LIB_PATH := $(PERFCTR_ROOT)/usr.lib
Packit Service a1973e
	CC_SHR += -Wl,-rpath-link -Wl,$(PERFCTR_LIB_PATH)
Packit Service a1973e
endif
Packit Service a1973e
ifeq (,$(PERFCTR_INC_PATH))
Packit Service a1973e
ifeq (,$(PERFCTR_ROOT))
Packit Service a1973e
	PERFCTR_ROOT := $(PWD)/perfctr-$(VERSION)
Packit Service a1973e
endif
Packit Service a1973e
	PERFCTR_INC_PATH := $(PERFCTR_ROOT)/usr.lib
Packit Service a1973e
	PERFCTR_KINC_PATH := $(PERFCTR_ROOT)/linux/include
Packit Service a1973e
else
Packit Service a1973e
	PERFCTR_KINC_PATH := $(PERFCTR_INC_PATH)
Packit Service a1973e
endif
Packit Service a1973e
ifneq (/usr/include,$(PERFCTR_INC_PATH))
Packit Service a1973e
CFLAGS += -I$(PERFCTR_INC_PATH) 
Packit Service a1973e
endif
Packit Service a1973e
ifneq (/usr/include/linux/include,$(PERFCTR_KINC_PATH))
Packit Service a1973e
CFLAGS += -I$(PERFCTR_KINC_PATH) 
Packit Service a1973e
endif
Packit Service a1973e
endif
Packit Service a1973e
Packit Service a1973e
CFLAGS-2.6.x := -DPERFCTR26
Packit Service a1973e
CFLAGS-2.7.x := $(CFLAGS-2.6.x)
Packit Service a1973e
CFLAGS += $(CFLAGS-$(VERSION))
Packit Service a1973e
MISCHDRS += linux-lock.h mb.h
Packit Service a1973e
MISCSRCS +=  $(ARCH_SPEC_EVTS)
Packit Service a1973e
SHLIBDEPS = -Bdynamic -L$(PERFCTR_LIB_PATH) -lperfctr
Packit Service a1973e
PERFCTR_OBJS = $(shell $(AR) t $(PERFCTR_LIB_PATH)/libperfctr.a 2> /dev/null)
Packit Service a1973e
MISCOBJS = $(PERFCTR_OBJS) $(MISCSRCS:.c=.o) 
Packit Service a1973e
Packit Service a1973e
ifeq (,$(PERFCTR_OBJS))
Packit Service a1973e
$(PERFCTR_LIB_PATH)/libperfctr.a:
Packit Service a1973e
ifneq (,${PERFCTR_ROOT})
Packit Service a1973e
 ifeq (ppc64,${ARCH})
Packit Service a1973e
	$(MAKE) CC='$(CC) $(BITFLAGS)' -C $(PERFCTR_ROOT)
Packit Service a1973e
 endif
Packit Service a1973e
 ifeq (x86_64,${ARCH})
Packit Service a1973e
   ifeq (-m32,${BITFLAGS})
Packit Service a1973e
	$(MAKE) CC='$(CC) $(BITFLAGS)' LD_FLAGS="-melf_i386" ARCH="i386" -C $(PERFCTR_ROOT)
Packit Service a1973e
   else
Packit Service a1973e
	$(MAKE) -C $(PERFCTR_ROOT)
Packit Service a1973e
   endif
Packit Service a1973e
 else
Packit Service a1973e
	$(MAKE) -C $(PERFCTR_ROOT)
Packit Service a1973e
 endif
Packit Service a1973e
else
Packit Service a1973e
	@echo '$@ not installed!'; exit 1
Packit Service a1973e
endif
Packit Service a1973e
	$(MAKE)
Packit Service a1973e
endif
Packit Service a1973e
Packit Service a1973e
#Dynamic linking loader needs correct version of libperfctr
Packit Service a1973e
ifeq ($(VERSION),2.7.x)
Packit Service a1973e
	SO_ABIVER=6
Packit Service a1973e
else
Packit Service a1973e
ifeq ($(VERSION),2.6.x)
Packit Service a1973e
	i386_ABIVER=5
Packit Service a1973e
	x86_64_ABIVER=6
Packit Service a1973e
	ppc_ABIVER=5
Packit Service a1973e
	SO_ABIVER=$($(ARCH)_ABIVER)
Packit Service a1973e
endif
Packit Service a1973e
endif
Packit Service a1973e
Packit Service a1973e
POST_BUILD = cp $(PERFCTR_LIB_PATH)/libperfctr.so .;ln -fs libperfctr.so libperfctr.so.$(SO_ABIVER)
Packit Service a1973e
Packit Service a1973e
include Makefile.inc
Packit Service a1973e
Packit Service a1973e
config.h:
Packit Service a1973e
	@echo 'Please clobber your build and run ./configure. Direct Makefile access has been deprecated.'
Packit Service a1973e
Packit Service a1973e
$(PERFCTR_OBJS): $(PERFCTR_LIB_PATH)/libperfctr.a
Packit Service a1973e
	$(AR) xv $<
Packit Service a1973e
	
Packit Service a1973e
$(CPU)_events.o: $(CPU)_events.c $(HEADERS)
Packit Service a1973e
	$(CC) $(LIBCFLAGS) $(OPTFLAGS) -c $(CPU)_events.c -o $@
Packit Service a1973e
Packit Service a1973e
#perfctr.o: perfctr.c $(HEADERS)
Packit Service a1973e
#	$(CC) $(LIBCFLAGS) $(OPTFLAGS) -c perfctr.c -o $@
Packit Service a1973e
Packit Service a1973e
native_clean:
Packit Service a1973e
	-rm -f $(MISCOBJS) libperfctr.so*
Packit Service a1973e
ifneq (,${PERFCTR_ROOT})
Packit Service a1973e
	$(MAKE) -C $(PERFCTR_ROOT) clean
Packit Service a1973e
endif
Packit Service a1973e
Packit Service a1973e
native_install: 
Packit Service a1973e
ifeq ($(ARCH),ppc64)
Packit Service a1973e
	-mkdir -p $(DESTDIR)$(DATADIR)
Packit Service a1973e
	-chmod go+rx $(DESTDIR)$(DATADIR)
Packit Service a1973e
	cp -Rf ./event_data $(DESTDIR)$(DATADIR)
Packit Service a1973e
endif
Packit Service a1973e
ifneq (,${PERFCTR_ROOT})
Packit Service a1973e
ifeq (-m32,${BITFLAGS})
Packit Service a1973e
	$(MAKE) -C $(PERFCTR_ROOT) PREFIX=$(DESTDIR)$(PREFIX) DESTDIR=$(DESTDIR) BINDIR=$(DESTDIR)$(BINDIR) LIBDIR=$(DESTDIR)$(LIBDIR) INCLDIR=$(DESTDIR)$(INCDIR) ARCH="i386" install
Packit Service a1973e
else
Packit Service a1973e
	$(MAKE) -C $(PERFCTR_ROOT) PREFIX=$(DESTDIR)$(PREFIX) DESTDIR=$(DESTDIR) BINDIR=$(DESTDIR)$(BINDIR) LIBDIR=$(DESTDIR)$(LIBDIR) INCLDIR=$(DESTDIR)$(INCDIR) install
Packit Service a1973e
endif
Packit Service a1973e
endif
Packit Service a1973e
Packit Service a1973e
native_clobber:
Packit Service a1973e
ifneq (,${PERFCTR_ROOT})
Packit Service a1973e
	$(MAKE) -C $(PERFCTR_ROOT) distclean
Packit Service a1973e
endif