$NetBSD: patch-src_GNUmakefile,v 1.3 2018/03/13 05:45:25 dholland Exp $

* Fix build under NetBSD and SunOS

--- src/GNUmakefile.orig	2018-03-05 10:56:03.000000000 +0000
+++ src/GNUmakefile
@@ -42,17 +42,26 @@ else
           OS = Darwin
   else ifeq ($(shell uname -o), Cygwin)
           OS = Windows_NT
+  else ifeq ($(shell uname -s), NetBSD)
+          OS = NetBSD
+  else ifeq ($(shell uname -s), SunOS)
+          OS = SunOS
   else
           $(error "Could not recognize your platform")
   endif
 endif
 
+# what is the point of this extra copy?
 ifeq ($(OS), Linux)
   PLATFORM = Linux
 else ifeq ($(OS), Darwin)
   PLATFORM = MacOS
 else ifeq ($(OS), Windows_NT)
   PLATFORM = Windows
+else ifeq ($(OS), NetBSD)
+  PLATFORM = NetBSD
+else ifeq ($(OS), SunOS)
+  PLATFORM = SunOS
 endif
 
 # Lablgtk configuration
@@ -180,23 +189,21 @@ OCAML        = ${OCAMLBIN}/ocaml
 OCAMLC       = $(firstword $(wildcard ${OCAMLBIN}/ocamlc.opt ${OCAMLBIN}/ocamlc))
 OCAMLOPT     = $(firstword $(wildcard ${OCAMLBIN}/ocamlopt.opt ${OCAMLBIN}/ocamlopt))
 OCAMLDEP     = $(firstword $(wildcard ${OCAMLBIN}/ocamldep.opt ${OCAMLBIN}/ocamldep))
-ifeq ($(OS), Windows_NT)
-  CAMLP4O    = camlp4o.opt
-else
-  CAMLP4O      = $(firstword $(wildcard ${OCAMLBIN}/camlp4o.opt ${OCAMLBIN}/camlp4o))
-endif
+CAMLP4O    = camlp4o.opt
 
 # Do we build with "-I ./linux" or "-I ./win":
 ifeq ($(OS), Windows_NT)
   INCLUDE_OS_DIR = win
 else
-# Also for mac.
+# Also for mac, bsd, etc.
   INCLUDE_OS_DIR = linux
 endif
 
 # Number of CPUs
 ifeq ($(OS), Darwin)
   NUMCPU ?= $(shell sysctl -n hw.ncpu)
+else ifeq ($(OS), NetBSD)
+  NUMCPU ?= $(shell sysctl -n hw.ncpu)
 else
 # Works on Linux and Cygwin (Cygwin has no /sys).
   NUMCPU ?= $(shell cat /proc/cpuinfo | grep 'processor' | wc -l)
@@ -244,6 +251,12 @@ endif
 ifeq ($(OS), Windows_NT)
   include win/GNUmakefile
 endif
+ifeq ($(OS), NetBSD)
+  include linux/GNUmakefile
+endif
+ifeq ($(OS), SunOS)
+  include linux/GNUmakefile
+endif
 
 include java_frontend/GNUmakefile
 
@@ -304,7 +317,7 @@ clean::
 
 %.cmx: %.ml $(INCLUDE_OS_DIR)/Perf.cmxa
 	@echo "  OCAMLOPT " $@
-	${OCAMLOPT} $(OCAMLCFLAGS) -thread -c -w p -warn-error FSU -c $(INCLUDES) -pp ${CAMLP4O} nums.cmxa  $*.ml
+	${OCAMLOPT} $(OCAMLCFLAGS) -thread -c -w p -warn-error FSU -c $(INCLUDES) -pp ${CAMLP4O} $*.ml
 clean::
 	rm -f *.cmx
 	rm -f *.o
@@ -340,7 +353,7 @@ clean::
 	rm -f vfversion.ml
 AUTOGENERATE_TARGETS += vfversion_autogen
 
-VFCONFIG_CONTENT=let z3_present = $(Z3PRESENT);; let z3v4dot5_present = $(Z3V4DOT5PRESENT);; type platform = Windows | MacOS | Linux;; let platform = $(PLATFORM)
+VFCONFIG_CONTENT=let z3_present = $(Z3PRESENT);; let z3v4dot5_present = $(Z3V4DOT5PRESENT);; type platform = Windows | MacOS | Linux | NetBSD | SunOS;; let platform = $(PLATFORM)
 vfconfig_autogen:
 	if [ ! -e vfconfig.ml ] || [ "$$(cat vfconfig.ml)" != "$(VFCONFIG_CONTENT)" ]; then \
 	  echo "$(VFCONFIG_CONTENT)" > vfconfig.ml ;\
@@ -389,7 +402,7 @@ clean::
 ifndef WITHOUT_LABLGTK
 
 clean::
-	cd linemarks; make clean
+	cd linemarks; $(MAKE) clean
 
 branchleft_png.ml: branch-left.png
 	gdk_pixbuf_mlsource branch-left.png > branchleft_png.ml
@@ -407,7 +420,7 @@ branchright_png.cmx: branchright_png.ml
 vfide.cmx: branchleft_png.cmx branchright_png.cmx vfide.ml $(GTKSOURCEVIEW_DEPS)
 	@echo "  OCAMLOPT " $@
 ifndef WITHOUT_GTKSOURCEVIEW
-	make -C linemarks OCAMLOPT=${OCAMLOPT} OCAMLCFLAGS="${OCAMLCFLAGS}" LABLGTK_FLAGS="$(LABLGTK_FLAGS_)" linemarks.cmxa
+	$(MAKE) -C linemarks OCAMLOPT=${OCAMLOPT} OCAMLCFLAGS="${OCAMLCFLAGS}" LABLGTK_FLAGS="$(LABLGTK_FLAGS_)" linemarks.cmxa
 endif
 	$(SET_LDD); $(OCAMLOPT) $(OCAMLCFLAGS) -thread -c -w p -warn-error FSU -c $(INCLUDES) \
 	-pp ${CAMLP4O} nums.cmxa $(LABLGTK_FLAGS) $(GTKSOURCEVIEW_LFLAGS) vfide.ml
@@ -423,7 +436,7 @@ endif
 ../bin/vfide$(DOTEXE): vfide.cmx $(VERIFAST_PLUGINS:%=verifastPlugin%.cmx) $(Z3DEPS) $(GTKSOURCEVIEW_DEPS) 
 	@echo "  OCAMLOPT " $@
 ifndef WITHOUT_GTKSOURCEVIEW
-	cd linemarks; make linemarks.cmxa
+	cd linemarks; $(MAKE) linemarks.cmxa
 endif
 	$(SET_LDD); ${OCAMLOPT} $(OCAMLOPT_LINKFLAGS) $(OCAMLCFLAGS) -warn-error F -pp ${CAMLP4O} -o ../bin/vfide$(DOTEXE)	\
 	  $(LABLGTK_FLAGS) $(GTKSOURCEVIEW_LFLAGS) unix.cmxa \
