--- Makefile.orig 2018-10-21 15:13:22.000000000 -0400 +++ Makefile 2018-10-22 13:36:03.000000000 -0400 @@ -36,23 +36,23 @@ # define macros dylib = dylib dynamiclib = -dynamiclib +installname = -install_name $(prefix)/lib/ bindir = bin objdir = obj ipath=$(prefix)/bin CBASEFLAGS = -W -Wall -std=c++11 -stdlib=libc++ -fno-rtti -fno-exceptions \ -mmacosx-version-min=10.9 -LDBASEFLAGS = -JAVAINCS = -I/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/include \ --I/Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/include/darwin \ --I/System/Library/Frameworks/JavaVM.framework/Headers +LDBASEFLAGS = +JAVAINCS = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/darwin CXX = clang++ -INSTALL=install -o $(USER) -g wheel +INSTALL=install # INSTALL=install -o 0 -g 0 # for testing on linux ifdef linux dylib = so dynamiclib = -shared + installname = -Wl,-soname, CXX = g++ JAVAINCS = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux endif @@ -152,10 +152,10 @@ $(CXX) $(LDFLAGSd) -o $(bindir)/AStyled $^ @ echo -shared: libastyle.$(dylib) -libastyle.$(dylib): $(OBJs) +shared: libastyle31.$(dylib) +libastyle31.$(dylib): $(OBJs) @ mkdir -p $(bindir) - $(CXX) $(dynamiclib) $(LDFLAGSr) -o $(bindir)/libastyle31.$(dylib) $^ + $(CXX) $(dynamiclib) $(installname)libastyle31.$(dylib) $(LDFLAGSr) -o $(bindir)/$@ $^ @ echo shareddebug: libastyled.$(dylib) @@ -176,10 +176,10 @@ ar crs $(bindir)/$@ $^ @ echo -java: libastylej.$(dylib) -libastylej.$(dylib): $(OBJsj) +java: libastyle31j.$(dylib) +libastyle31j.$(dylib): $(OBJsj) @ mkdir -p $(bindir) - $(CXX) $(dynamiclib) $(LDFLAGSr) -o $(bindir)/libastyle31j.$(dylib) $^ + $(CXX) $(dynamiclib) $(installname)libastyle31j.$(dylib) $(LDFLAGSr) -o $(bindir)/$@ $^ @ echo javadebug: libastylejd.$(dylib) @@ -198,21 +198,31 @@ cleanobj: rm -f $(objdir)/*.o -install: - $(INSTALL) -m 755 -d $(ipath) - @$(INSTALL) -m 755 $(bindir)/astyle $(ipath) +install: release + $(INSTALL) -m 755 -d $(DESTDIR)$(ipath) + @$(INSTALL) -m 755 $(bindir)/astyle $(DESTDIR)$(ipath) - @if [ -d $(SYSCONF_PATH)/html ]; then \ - rm -rf $(SYSCONF_PATH)/html; \ + @if [ -d $(DESTDIR)$(SYSCONF_PATH)/html ]; then \ + rm -rf $(DESTDIR)$(SYSCONF_PATH)/html; \ fi - $(INSTALL) -m 755 -d $(SYSCONF_PATH) - @mkdir -p $(SYSCONF_PATH)/html; + $(INSTALL) -m 755 -d $(DESTDIR)$(SYSCONF_PATH) + @mkdir -p $(DESTDIR)$(SYSCONF_PATH)/html; @for files in ../../doc/*.html ../../doc/*.css; \ do \ - $(INSTALL) -m 644 "$$files" $(SYSCONF_PATH)/html; \ + $(INSTALL) -m 644 "$$files" $(DESTDIR)$(SYSCONF_PATH)/html; \ done +install-lib: static shared + $(INSTALL) -m 755 -d $(DESTDIR)$(prefix)/lib + $(INSTALL) $(bindir)/libastyle.a $(bindir)/libastyle31.$(dylib) $(DESTDIR)$(prefix)/lib + ln -s libastyle31$(dylib) $(DESTDIR)$(prefix)/lib/libastyle.$(dylib) + +install-jnilib: java + $(INSTALL) -m 755 -d $(DESTDIR)$(prefix)/lib + $(INSTALL) $(bindir)/libastyle31j.$(dylib) $(DESTDIR)$(prefix)/lib + ln -s libastyle31j.$(dylib) $(DESTDIR)$(prefix)/lib/libastylej.$(dylib) + uninstall: rm -f $(ipath)/astyle rm -rf $(SYSCONF_PATH)