--- Makefile.orig 2016-08-31 08:02:05.000000000 -0500 +++ Makefile 2016-09-13 21:39:52.000000000 -0500 @@ -1,6 +1,5 @@ -ifndef PREFIX - PREFIX = /usr/local -endif +PREFIX ?= /usr/local +DESTDIR ?= LIBPOINTING = libpointing.dylib @@ -8,10 +7,10 @@ SOURCES = src/pointing/utils/Base64.cpp src/pointing/utils/ByteOrder.cpp src/pointing/utils/FileUtils.cpp src/pointing/utils/TimeStamp.cpp src/pointing/utils/URI.cpp src/pointing/utils/ConfigDict.cpp src/pointing/utils/HIDItem.cpp src/pointing/utils/HIDReportParser.cpp src/pointing/utils/PointingCursor.cpp src/pointing/input/PointingDevice.cpp src/pointing/input/DummyPointingDevice.cpp src/pointing/output/DisplayDevice.cpp src/pointing/output/DisplayDeviceManager.cpp src/pointing/output/DummyDisplayDevice.cpp src/pointing/transferfunctions/Composition.cpp src/pointing/transferfunctions/ConstantFunction.cpp src/pointing/transferfunctions/NaiveConstantFunction.cpp src/pointing/transferfunctions/SigmoidFunction.cpp src/pointing/transferfunctions/TransferFunction.cpp src/pointing/transferfunctions/SubPixelFunction.cpp src/pointing/transferfunctions/Interpolation.cpp src/pointing/input/PointingDeviceManager.cpp src/pointing/input/SystemPointingDevice.cpp src/pointing/utils/osx/osxPlistUtils.cpp src/pointing/input/osx/osxPointingDevice.cpp src/pointing/input/osx/osxHIDUtils.cpp src/pointing/input/osx/osxPrivateMultitouchDevice.cpp src/pointing/input/osx/osxPointingDeviceManager.cpp src/pointing/output/osx/osxDisplayDevice.cpp src/pointing/output/osx/osxDisplayDeviceManager.cpp src/pointing/transferfunctions/osx/osxSystemPointerAcceleration.cpp src/pointing-xorg/transferfunctions/XorgFunction.cpp -CXX = g++ -stdlib=libc++ -CPPFLAGS = -Iinclude -DPOINTING_XORG -CXXFLAGS = -mmacosx-version-min=10.7 -std=c++11 -LDFLAGS = -Llib -F/System/Library/PrivateFrameworks -mmacosx-version-min=10.7 +CXX ?= g++ +CPPFLAGS := -Iinclude -DPOINTING_XORG $(CPPFLAGS) +CXXFLAGS := -std=c++11 $(CXXFLAGS) +LDFLAGS := -Llib -F/System/Library/PrivateFrameworks $(LDFLAGS) LIBS = -framework MultitouchSupport -framework IOKit -framework CoreFoundation -framework ApplicationServices -framework AppKit OBJECTS = $(SOURCES:.cpp=.o) @@ -19,7 +18,7 @@ all: lib/$(LIBPOINTING) lib/$(LIBPOINTING): $(OBJECTS) - $(CXX) -shared -o $@ $^ $(LDFLAGS) $(LIBS) + $(CXX) -dynamiclib -install_name $(PREFIX)/lib/$(LIBPOINTING) -o $@ $^ $(LDFLAGS) $(LIBS) src/simpletest: src/simpletest.cpp $(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $^ $(LDFLAGS) $(LIBS) -lpointing @@ -31,12 +30,12 @@ distclean: clean rm -f lib/$(LIBPOINTING) install: - mkdir -p $(PREFIX)/include - cp -r include/pointing $(PREFIX)/include - cp -r include/pointing-xorg $(PREFIX)/include - cp -r include/pointing-echomouse $(PREFIX)/include - mkdir -p $(PREFIX)/lib - cp -r lib $(PREFIX) + mkdir -p $(DESTDIR)$(PREFIX)/include + cp -R include/pointing $(DESTDIR)$(PREFIX)/include + cp -R include/pointing-xorg $(DESTDIR)$(PREFIX)/include + cp -R include/pointing-echomouse $(DESTDIR)$(PREFIX)/include + mkdir -p $(DESTDIR)$(PREFIX)/lib + cp -R lib $(DESTDIR)$(PREFIX) uninstall: rm -rf $(PREFIX)/include/pointing rm -rf $(PREFIX)/include/pointing-xorg