# # Copyright (c) 2002-2006 Hewlett-Packard Development Company, L.P. # Contributed by Stephane Eranian # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies # of the Software, and to permit persons to whom the Software is furnished to do so, # subject to the following conditions: # # The above copyright notice and this permission notice shall be included in all # copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, # INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A # PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT # HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF # CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE # OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # TOPDIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi)/.. include $(TOPDIR)/config.mk include $(TOPDIR)/rules.mk DIRS= ifeq ($(ARCH),ia64) #DIRS +=ia64 endif ifeq ($(ARCH),x86_64) DIRS += x86 endif ifeq ($(ARCH),i386) DIRS += x86 endif CFLAGS+= -I. -D_GNU_SOURCE -pthread PERF_EVENT_HDR=$(TOPDIR)/include/perfmon/pfmlib_perf_event.h LPC_UTILS=perf_util.o LPC_UTILS_HDR=perf_util.h TARGETS+=self self_basic self_count task task_attach_timeout syst \ notify_self notify_group task_smpl self_smpl_multi \ self_pipe syst_count task_cpu syst_smpl evt2raw \ branch_smpl # Make rtop conditional on ncurses development package installed ifeq ($(shell /bin/echo -e '\#include \nint main(void) { return 0;}' | $(CC) -o /dev/null -xc - 2>/dev/null && echo -n yes), yes) RTOP=rtop endif EXAMPLESDIR=$(DESTDIR)$(DOCDIR)/perf_examples all: $(TARGETS) $(RTOP) @set -e ; for d in $(DIRS) ; do $(MAKE) -C $$d $@ ; done rtop: rtop.o $(LPC_UTILS) $(PFMLIB) $(PERF_EVENT_HDR) $(CC) $(CFLAGS) -o $@ $(LDFLAGS) $< $(LPC_UTILS) $(PFMLIB) $(LIBS) -lpthread -lncurses -ltinfo -lm $(TARGETS): %:%.o $(LPC_UTILS) $(PFMLIB) -$(CC) $(CFLAGS) -o $@ $(LDFLAGS) $< $(LPC_UTILS) $(PFMLIB) $(LIBS) $(LPC_UTILS): $(LPC_UTILS_HDR) clean: @set -e ; for d in $(DIRS) ; do $(MAKE) -C $$d $@ ; done $(RM) -f *.o $(TARGETS) rtop *~ distclean: clean install-examples install_examples: $(TARGETS) @echo installing: $(TARGETS) -mkdir -p $(EXAMPLESDIR) $(INSTALL) -m 755 $(TARGETS) $(EXAMPLESDIR) @set -e ; for d in $(DIRS) ; do $(MAKE) -C $$d $@ ; done # # examples are installed as part of the RPM install, typically in /usr/share/doc/libpfm-X.Y/ # .PHONY: install depend install_examples install-examples