Blame src/perfctr-2.7.x/usr.lib/Makefile

Packit 577717
# $Id: Makefile,v 1.60 2007/10/06 13:02:07 mikpe Exp $
Packit 577717
Packit 577717
SHELL=/bin/sh
Packit 577717
ARCH := $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)
Packit 577717
CC=$(CROSS_COMPILE)gcc
Packit 577717
CFLAGS=-O2 -fomit-frame-pointer -Wall
Packit 577717
BUILD_INCLDIR=../linux/include
Packit 577717
CPPFLAGS=-I$(BUILD_INCLDIR)
Packit 577717
AR=$(CROSS_COMPILE)ar
Packit 577717
ARFLAGS=ruv
Packit 577717
RANLIB=$(CROSS_COMPILE)ranlib
Packit 577717
Packit 577717
i386_ESOBJS=event_set_x86.o event_set_amd.o event_set_centaur.o\
Packit 577717
	event_set_p4.o event_set_p5.o event_set_p6.o
Packit 577717
x86_64_ESOBJS=event_set_x86.o event_set_amd.o event_set_p4.o
Packit 577717
ppc_ESOBJS=event_set_ppc.o
Packit 577717
ppc64_ESOBJS=event_set_ppc64.o
Packit 577717
EVENT_SET_OBJS=$($(ARCH)_ESOBJS)
Packit 577717
Packit 577717
i386_OBJS=x86.o x86_cpuinfo.o x86_cpuid.o
Packit 577717
x86_64_OBJS=x86.o x86_cpuinfo.o
Packit 577717
ppc_OBJS=ppc.o
Packit 577717
ppc64_OBJS=ppc64.o
Packit 577717
ARCH_OBJS=$($(ARCH)_OBJS)
Packit 577717
Packit 577717
i386_H=x86.h
Packit 577717
x86_64_H=x86.h
Packit 577717
ppc_H=ppc.h
Packit 577717
ppc64_H=ppc64.h
Packit 577717
ARCH_H=$($(ARCH)_H)
Packit 577717
Packit 577717
ifeq ($(ARCH),ppc64)
Packit 577717
CPPFLAGS += -DPPC64
Packit 577717
endif
Packit 577717
Packit 577717
AR_OBJS=misc.o virtual.o $(EVENT_SET_OBJS) $(ARCH_OBJS)
Packit 577717
Packit 577717
SO_OBJS=$(AR_OBJS:.o=.os)
Packit 577717
SO_ABIVER=6
Packit 577717
SO_LIBVER=2.7.21.1
Packit 577717
SO_NAME=libperfctr.so.$(SO_ABIVER)
Packit 577717
SO_LIB=libperfctr.so.$(SO_ABIVER).$(SO_LIBVER)
Packit 577717
Packit 577717
HDEP=libperfctr.h $(BUILD_INCLDIR)/linux/perfctr.h $(BUILD_INCLDIR)/asm/perfctr.h
Packit 577717
Packit 577717
i386_ASM_DIR=i386
Packit 577717
x86_64_ASM_DIR=i386
Packit 577717
ppc_ASM_DIR=powerpc
Packit 577717
ppc64_ASM_DIR=powerpc
Packit 577717
ARCH_ASM_DIR=asm-$($(ARCH)_ASM_DIR)
Packit 577717
Packit 577717
INSTALL_FILES=$(BUILD_INCLDIR)/$(ARCH_ASM_DIR)/perfctr.h $(BUILD_INCLDIR)/linux/perfctr.h\
Packit 577717
	libperfctr.h libperfctr.a libperfctr.so perfctr_event_codes.h
Packit 577717
CLEAN_FILES=$(AR_OBJS) $(SO_OBJS) libperfctr.a libperfctr.so gen-event-codes perfctr_event_codes.h
Packit 577717
Packit 577717
# Prevent 16-byte stack alignment crap in gcc-2.95.
Packit 577717
CFLAGS += $(shell if $(CC) -mpreferred-stack-boundary=2 -S -o /dev/null -x c /dev/null > /dev/null 2>&1; then echo "-mpreferred-stack-boundary=2"; fi)
Packit 577717
Packit 577717
.SUFFIXES: .os
Packit 577717
Packit 577717
%.os: %.c
Packit 577717
	$(COMPILE.c) -fPIC $(OUTPUT_OPTION) $<
Packit 577717
Packit 577717
%.os: %.S
Packit 577717
	$(COMPILE.c) $(ASFLAGS) -DPIC $(OUTPUT_OPTION) $<
Packit 577717
Packit 577717
# this code does not need -fno-strict-aliasing
Packit 577717
Packit 577717
default:	$(INSTALL_FILES)
Packit 577717
Packit 577717
libperfctr.a:	$(AR_OBJS)
Packit 577717
	$(AR) $(ARFLAGS) libperfctr.a $(AR_OBJS)
Packit 577717
	$(RANLIB) libperfctr.a
Packit 577717
Packit 577717
libperfctr.so:	$(SO_OBJS)
Packit 577717
	$(CC) -shared -o $@ -Wl,-soname,$(SO_NAME) $(SO_OBJS)
Packit 577717
Packit 577717
$(AR_OBJS):	$(HDEP)
Packit 577717
$(SO_OBJS):	$(HDEP)
Packit 577717
$(EVENT_SET_OBJS):	event_set.h
Packit 577717
Packit 577717
$(BUILD_INCLDIR)/asm/perfctr.h:
Packit 577717
	cd ..; make configure
Packit 577717
Packit 577717
misc.o virtual.o:	arch.h $(ARCH_H)
Packit 577717
Packit 577717
perfctr_event_codes.h:	gen-event-codes
Packit 577717
	./gen-event-codes > $@
Packit 577717
Packit 577717
gen-event-codes:	gen-event-codes.c $(EVENT_SET_OBJS)
Packit 577717
	$(LINK.c) $^ -o $@
Packit 577717
Packit 577717
install:	$(INSTALL_FILES)
Packit 577717
	-mkdir -p $(INCLDIR) $(INCLDIR)/asm $(INCLDIR)/linux
Packit 577717
	cp -f libperfctr.h $(INCLDIR)/
Packit 577717
	cp perfctr_event_codes.h $(INCLDIR)/
Packit 577717
	cp -f ../linux/include/$(ARCH_ASM_DIR)/perfctr.h $(INCLDIR)/asm/
Packit 577717
	cp -f ../linux/include/linux/perfctr.h $(INCLDIR)/linux/
Packit 577717
	-mkdir -p $(LIBDIR)
Packit 577717
	cp libperfctr.a $(LIBDIR)/
Packit 577717
	cp libperfctr.so $(LIBDIR)/$(SO_LIB)
Packit 577717
	ln -sf $(SO_LIB) $(LIBDIR)/$(SO_NAME)
Packit 577717
	ln -sf $(SO_NAME) $(LIBDIR)/libperfctr.so
Packit 577717
Packit 577717
distclean realclean mrproper:	clean
Packit 577717
Packit 577717
clean:
Packit 577717
	rm -f $(CLEAN_FILES)