pkgsrc/devel/astyle/patches/patch-build_mac_Makefile
schmonz 3d1158c602 Fix build on Darwin (at least 17.4.0) by including the Darwin makefile
from the "macos" source tarball, which differs from the "linux" one used
here only by which build instructions it contains.
2018-03-17 17:16:59 +00:00

225 lines
5.7 KiB
Text

$NetBSD: patch-build_mac_Makefile,v 1.1 2018/03/17 17:16:59 schmonz Exp $
Include Darwin makefile from the "macos" source tarball.
--- build/mac/Makefile.orig 2018-03-17 17:07:25.000000000 +0000
+++ build/mac/Makefile
@@ -0,0 +1,218 @@
+# Make file for Clang compiler on macOS.
+
+# to test on Linux use "make linux=1"
+
+# list of source files for astyle
+SRC = astyle_main.cpp \
+ ASBeautifier.cpp \
+ ASFormatter.cpp \
+ ASEnhancer.cpp \
+ ASLocalizer.cpp \
+ ASResource.cpp
+
+# list of source files for libraries without ASLocalizer
+SRCx = astyle_main.cpp \
+ ASBeautifier.cpp \
+ ASFormatter.cpp \
+ ASEnhancer.cpp \
+ ASResource.cpp
+
+# source directories
+vpath %.cpp ../../src
+vpath %.h ../../src
+
+# NOTE for java compiles the environment variable $JAVA_HOME must be set
+# example: export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.00
+ifndef JAVA_HOME
+ JAVA_HOME = /usr/lib/jvm/default-java
+endif
+
+# set prefix if not defined on the command line
+ifndef prefix
+ prefix=/usr
+endif
+SYSCONF_PATH=$(prefix)/share/doc/astyle
+
+# define macros
+dylib = dylib
+dynamiclib = -dynamiclib
+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
+CXX = clang++
+INSTALL=install -o $(USER) -g wheel
+# INSTALL=install -o 0 -g 0
+
+# for testing on linux
+ifdef linux
+ dylib = so
+ dynamiclib = -shared
+ CXX = g++
+ JAVAINCS = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
+endif
+
+##################################################
+
+# define compile options for each build
+ifdef CFLAGS
+ CFLAGSr = -DNDEBUG $(CBASEFLAGS) $(CFLAGS)
+ CFLAGSd = -g $(CBASEFLAGS) $(CFLAGS)
+else
+ CFLAGSr = -DNDEBUG -O3 $(CBASEFLAGS)
+ CFLAGSd = -g $(CBASEFLAGS)
+endif
+CFLAGSs = -DASTYLE_LIB -fPIC $(CFLAGSr)
+CFLAGSsd = -DASTYLE_LIB -fPIC $(CFLAGSd)
+CFLAGSa = -DASTYLE_LIB $(CFLAGSr)
+CFLAGSad = -DASTYLE_LIB $(CFLAGSd)
+CFLAGSsj = -DASTYLE_JNI -fPIC $(CFLAGSr) $(JAVAINCS)
+CFLAGSsjd = -DASTYLE_JNI -fPIC $(CFLAGSd) $(JAVAINCS)
+
+# define link options
+ifdef LDFLAGS
+ LDFLAGSr = $(LDBASEFLAGS) $(LDFLAGS)
+ LDFLAGSd = $(LDBASEFLAGS) $(LDFLAGS)
+else
+ LDFLAGSr = $(LDBASEFLAGS)
+ LDFLAGSd = $(LDBASEFLAGS)
+endif
+
+# object files are built from the source list $(SRC)
+# a suffix is added for each build
+OBJ = $(patsubst %.cpp,$(objdir)/%.o,$(SRC))
+OBJd = $(patsubst %.cpp,$(objdir)/%_d.o,$(SRC))
+OBJs = $(patsubst %.cpp,$(objdir)/%_s.o,$(SRCx))
+OBJsd = $(patsubst %.cpp,$(objdir)/%_sd.o,$(SRCx))
+OBJa = $(patsubst %.cpp,$(objdir)/%_a.o,$(SRCx))
+OBJad = $(patsubst %.cpp,$(objdir)/%_ad.o,$(SRCx))
+OBJsj = $(patsubst %.cpp,$(objdir)/%_sj.o,$(SRCx))
+OBJsjd = $(patsubst %.cpp,$(objdir)/%_sjd.o,$(SRCx))
+
+# define object file rule (with the suffix) for each build
+
+# OBJ
+$(objdir)/%.o: %.cpp astyle.h astyle_main.h
+ @ mkdir -p $(objdir)
+ $(CXX) $(CFLAGSr) -c $< -o $@
+
+# OBJd
+$(objdir)/%_d.o: %.cpp astyle.h astyle_main.h
+ @ mkdir -p $(objdir)
+ $(CXX) $(CFLAGSd) -c $< -o $@
+
+# OBJs
+$(objdir)/%_s.o: %.cpp astyle.h
+ @ mkdir -p $(objdir)
+ $(CXX) $(CFLAGSs) -c $< -o $@
+
+# OBJsd
+$(objdir)/%_sd.o: %.cpp astyle.h
+ @ mkdir -p $(objdir)
+ $(CXX) $(CFLAGSsd) -c $< -o $@
+
+# OBJa
+$(objdir)/%_a.o: %.cpp astyle.h
+ @ mkdir -p $(objdir)
+ $(CXX) $(CFLAGSa) -c $< -o $@
+
+# OBJad
+$(objdir)/%_ad.o: %.cpp astyle.h
+ @ mkdir -p $(objdir)
+ $(CXX) $(CFLAGSad) -c $< -o $@
+
+# OBJsj
+$(objdir)/%_sj.o: %.cpp astyle.h
+ @ mkdir -p $(objdir)
+ $(CXX) $(CFLAGSsj) -c $< -o $@
+
+# OBJsjd
+$(objdir)/%_sjd.o: %.cpp astyle.h
+ @ mkdir -p $(objdir)
+ $(CXX) $(CFLAGSsjd) -c $< -o $@
+
+##################################################
+# define build dependencies for each command
+
+release: astyle
+astyle: $(OBJ)
+ @ mkdir -p $(bindir)
+ $(CXX) $(LDFLAGSr) -dead_strip -o $(bindir)/AStyle $^
+ strip $(bindir)/AStyle
+ @ echo
+
+debug: astyled
+astyled: $(OBJd)
+ @ mkdir -p $(bindir)
+ $(CXX) $(LDFLAGSd) -o $(bindir)/AStyled $^
+ @ echo
+
+shared: libastyle.$(dylib)
+libastyle.$(dylib): $(OBJs)
+ @ mkdir -p $(bindir)
+ $(CXX) $(dynamiclib) $(LDFLAGSr) -o $(bindir)/libastyle31.$(dylib) $^
+ @ echo
+
+shareddebug: libastyled.$(dylib)
+libastyled.$(dylib): $(OBJsd)
+ @ mkdir -p $(bindir)
+ $(CXX) $(dynamiclib) $(LDFLAGSd) -o $(bindir)/libastyle31d.$(dylib) $^
+ @ echo
+
+static: libastyle.a
+libastyle.a: $(OBJa)
+ @ mkdir -p $(bindir)
+ ar crs $(bindir)/$@ $^
+ @ echo
+
+staticdebug: libastyled.a
+libastyled.a: $(OBJad)
+ @ mkdir -p $(bindir)
+ ar crs $(bindir)/$@ $^
+ @ echo
+
+java: libastylej.$(dylib)
+libastylej.$(dylib): $(OBJsj)
+ @ mkdir -p $(bindir)
+ $(CXX) $(dynamiclib) $(LDFLAGSr) -o $(bindir)/libastyle31j.$(dylib) $^
+ @ echo
+
+javadebug: libastylejd.$(dylib)
+libastylejd.$(dylib): $(OBJsjd)
+ @ mkdir -p $(bindir)
+ $(CXX) $(dynamiclib) $(LDFLAGSd) -o $(bindir)/libastyle31jd.$(dylib) $^
+ @ echo
+
+all: release debug shared shareddebug static staticdebug
+
+javaall: java javadebug
+
+clean:
+ rm -f $(objdir)/*.o $(bindir)/*astyle*
+
+cleanobj:
+ rm -f $(objdir)/*.o
+
+install:
+ $(INSTALL) -m 755 -d $(ipath)
+ @$(INSTALL) -m 755 $(bindir)/astyle $(ipath)
+
+ @if [ -d $(SYSCONF_PATH)/html ]; then \
+ rm -rf $(SYSCONF_PATH)/html; \
+ fi
+
+ $(INSTALL) -m 755 -d $(SYSCONF_PATH)
+ @mkdir -p $(SYSCONF_PATH)/html;
+ @for files in ../../doc/*.html ../../doc/*.css; \
+ do \
+ $(INSTALL) -m 644 "$$files" $(SYSCONF_PATH)/html; \
+ done
+
+uninstall:
+ rm -f $(ipath)/astyle
+ rm -rf $(SYSCONF_PATH)