cache line locking on AMD x86_64 utilising L3 CAT pseudo-locking
26

Configure Feed

Select the types of activity you want to include in your feed.

icepick / Makefile
2.0 kB 66 lines
1CC = gcc 2CFLAGS = -O2 -Wall -Wextra -Werror -fPIC -march=native -I include 3LDFLAGS = -lnuma -lpthread 4 5SRCDIR = src 6INCDIR = include 7OBJDIR = obj 8 9SRCS = $(wildcard $(SRCDIR)/*.c) 10OBJS = $(patsubst $(SRCDIR)/%.c,$(OBJDIR)/%.o,$(SRCS)) 11LIB_OBJS = $(filter-out $(OBJDIR)/main.o,$(OBJS)) 12 13TARGET = icepick 14LIBRARY = libicepick.a 15SHARED = libicepick.so 16 17PREFIX ?= /usr/local 18BINDIR = $(PREFIX)/bin 19LIBDIR = $(PREFIX)/lib 20INCLUDEDIR = $(PREFIX)/include 21 22.PHONY: all clean install uninstall 23 24all: $(TARGET) $(LIBRARY) $(SHARED) 25 26$(OBJDIR): 27 mkdir -p $(OBJDIR) 28 29$(OBJDIR)/%.o: $(SRCDIR)/%.c | $(OBJDIR) 30 $(CC) $(CFLAGS) -c $< -o $@ 31 32$(LIBRARY): $(LIB_OBJS) 33 ar rcs $@ $^ 34 35$(SHARED): $(LIB_OBJS) 36 $(CC) -shared -o $@ $^ $(LDFLAGS) 37 38$(TARGET): $(OBJDIR)/main.o $(LIBRARY) 39 $(CC) $(CFLAGS) $< -L. -licepick $(LDFLAGS) -o $@ 40 41install: $(TARGET) $(LIBRARY) $(SHARED) 42 install -d $(BINDIR) $(LIBDIR) $(INCLUDEDIR) 43 install -m 755 $(TARGET) $(BINDIR)/ 44 install -m 644 $(LIBRARY) $(LIBDIR)/ 45 install -m 755 $(SHARED) $(LIBDIR)/ 46 install -m 644 $(INCDIR)/icepick.h $(INCLUDEDIR)/ 47 48uninstall: 49 rm -f $(BINDIR)/$(TARGET) 50 rm -f $(LIBDIR)/$(LIBRARY) 51 rm -f $(LIBDIR)/$(SHARED) 52 rm -f $(INCLUDEDIR)/icepick.h 53 54clean: 55 rm -rf $(OBJDIR) $(TARGET) $(LIBRARY) $(SHARED) 56 57$(OBJDIR)/msr.o: $(SRCDIR)/msr.c $(SRCDIR)/internal.h $(INCDIR)/icepick.h 58$(OBJDIR)/topology.o: $(SRCDIR)/topology.c $(SRCDIR)/internal.h $(INCDIR)/icepick.h 59$(OBJDIR)/clos.o: $(SRCDIR)/clos.c $(SRCDIR)/internal.h $(INCDIR)/icepick.h 60$(OBJDIR)/region.o: $(SRCDIR)/region.c $(SRCDIR)/internal.h $(INCDIR)/icepick.h 61$(OBJDIR)/lock.o: $(SRCDIR)/lock.c $(SRCDIR)/internal.h $(INCDIR)/icepick.h 62$(OBJDIR)/verify.o: $(SRCDIR)/verify.c $(SRCDIR)/internal.h $(INCDIR)/icepick.h 63$(OBJDIR)/bench.o: $(SRCDIR)/bench.c $(SRCDIR)/internal.h $(INCDIR)/icepick.h 64$(OBJDIR)/monitor.o: $(SRCDIR)/monitor.c $(SRCDIR)/internal.h $(INCDIR)/icepick.h 65$(OBJDIR)/mpam.o: $(SRCDIR)/mpam.c $(SRCDIR)/internal.h $(INCDIR)/icepick.h 66$(OBJDIR)/main.o: $(SRCDIR)/main.c $(SRCDIR)/internal.h $(INCDIR)/icepick.h