1aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton#---------------------------------------------------------------------- 2aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton# Fill in the source files to build 3aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton#---------------------------------------------------------------------- 4aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton# Uncomment line below for debugging shell commands 5aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton# SHELL = /bin/sh -x 6aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton 7aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton#---------------------------------------------------------------------- 8aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton# Change any build/tool options needed 9aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton#---------------------------------------------------------------------- 101dae6f39248e38ac84fc20c8b4c26e11bfcc19b7Greg ClaytonARCH ?= x86_64 111dae6f39248e38ac84fc20c8b4c26e11bfcc19b7Greg ClaytonCFLAGS ?=-arch $(ARCH) -gdwarf-2 -O0 121dae6f39248e38ac84fc20c8b4c26e11bfcc19b7Greg ClaytonCXX ?= $(shell xcrun -find clang++) 131dae6f39248e38ac84fc20c8b4c26e11bfcc19b7Greg ClaytonEXE ?= libheap.dylib 141dae6f39248e38ac84fc20c8b4c26e11bfcc19b7Greg ClaytonDSYM ?= $(EXE).dSYM 15aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton 16aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton#---------------------------------------------------------------------- 17aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton# Compile the executable from all the objects (default rule) with no 18aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton# dsym file. 19aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton#---------------------------------------------------------------------- 201dae6f39248e38ac84fc20c8b4c26e11bfcc19b7Greg Clayton$(EXE) : heap_find.cpp 21aaf7fad2bb839010596e6d8e673e9635f4ddf372Greg Clayton $(CXX) $(CFLAGS) -install_name "@executable_path/libheap.dylib" -dynamiclib -lobjc heap_find.cpp -o "$(EXE)" 22aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton 23aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton#---------------------------------------------------------------------- 24aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton# Include all of the makefiles for each source file so we don't have 25aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton# to manually track all of the prerequisites for each source file. 26aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton#---------------------------------------------------------------------- 27aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton.PHONY: clean 281dae6f39248e38ac84fc20c8b4c26e11bfcc19b7Greg Claytonall: $(EXE) 29aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Claytonclean: 301dae6f39248e38ac84fc20c8b4c26e11bfcc19b7Greg Clayton rm -rf "$(EXE)" "$(DSYM)" 31aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton 32aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton 33aa0489cd2d3d980dd8c1087a6cdc9f3bad3ba306Greg Clayton 34