LIB_PROFILER=libasyncProfiler.so JATTACH=jattach CC=gcc CFLAGS=-O2 CPP=g++ CPPFLAGS=-O2 INCLUDES=-I$(JAVA_HOME)/include OS:=$(shell uname -s) ifeq ($(OS), Darwin) CPPFLAGS += -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE INCLUDES += -I$(JAVA_HOME)/include/darwin else INCLUDES += -I$(JAVA_HOME)/include/linux endif .PHONY: all test clean all: build build/$(LIB_PROFILER) build/$(JATTACH) build: mkdir -p build build/$(LIB_PROFILER): src/*.cpp src/*.h $(CPP) $(CPPFLAGS) $(INCLUDES) -fPIC -shared -o $@ src/*.cpp -ldl -lpthread build/$(JATTACH): src/jattach.c $(CC) $(CFLAGS) -o $@ $^ test: all test/smoke-test.sh test/alloc-smoke-test.sh clean: rm -rf build