1PKGDIR ?= ../.. 2L4DIR ?= $(PKGDIR)/../../.. 3 4TARGET = libl4util.a libl4util.so 5REQUIRES_LIBS = l4sys 6PC_EXTRA = Link_Libs= %{static:-ll4util} 7 8ALL_SRC_C_only_x86 = $(addprefix ARCH-x86/, apic.c perform.c spin.c rdtsc.c) 9ALL_SRC_C_only_amd64 = $(ALL_SRC_C_only_x86) 10ALL_SRC_C_only_ppc32 = $(addprefix ARCH-ppc32/, rdtsc.c) 11ALL_SRC_C_only_sparc = ARCH-sparc/atomics.c 12SRC_C = getopt2.c micros2l4to.c rand.c sleep.c \ 13 base64.c kprintf.c kip.c keymap.c \ 14 ARCH-$(ARCH)/backtrace.c thread.c \ 15 $(ALL_SRC_C_only_$(ARCH)) parse_cmdline.c \ 16 list_alloc.c 17SRC_CC = llulc.cc 18CXXFLAGS = -DL4_NO_RTTI -fno-exceptions -fno-rtti 19 20PRIVATE_INCDIR_ARCH-x86/perform.c = ARCH-x86 21 22include $(L4DIR)/mk/lib.mk 23 24ARCH-x86/perform.o ARCH-x86/perform.s.o: ARCH-x86/pmc_events.h 25ARCH-x86/pmc_events.h: pmc_events.in 26 @$(GEN_MESSAGE) 27 $(VERBOSE)$(MKDIR) $(dir $@) 28 $(VERBOSE)sort < $^ > $(OBJ_DIR)/$(^F).sorted || rm $(OBJ_DIR)/$(^F).sorted 29 $(VERBOSE)echo "/* created automatically from $^, do not edit */" > $@ 30 $(VERBOSE)awk '/^[0-9a-fA-F][0-9a-fA-F].*/{print "{0x"toupper($$1)", \""$$2"\"},"}' < $(OBJ_DIR)/$(^F).sorted >> $@ || rm $@ 31 $(VERBOSE)rm $(OBJ_DIR)/$(^F).sorted 32 33vpath pmc_events.in $(SRC_DIR)/ARCH-x86 34