$NetBSD$
Set preferences.
Add minimal NetBSD support.
Don't override CC nor optimisation flags in CFLAGS.
Remove sed magic; we'll use nbsed.
--- src/Makefile.orig 2021-05-15 12:07:58.000000000 +0000
+++ src/Makefile
@@ -31,7 +31,7 @@ UNAME := $(patsubst MS
UNAME := $(patsubst MINGW32_NT-%,MSYS2,$(UNAME))
UNAME := $(patsubst MINGW64_NT-%,MSYS2,$(UNAME))
-ifeq (,$(filter $(UNAME),Linux FreeBSD Darwin CYGWIN MSYS2))
+ifeq (,$(filter $(UNAME),Linux FreeBSD NetBSD Darwin CYGWIN MSYS2))
$(error "! Your Operating System ($(UNAME)) is not supported by this Makefile")
endif
@@ -59,8 +59,6 @@ MODULE_INTERFACE_VERSION := 620
## Native compiler paths
##
-CC := gcc
-CXX := g++
AR := ar
FIND := find
INSTALL := install
@@ -69,20 +67,9 @@ SED := sed
SED_IN_PLACE := -i
ifeq ($(UNAME),Darwin)
-CC := clang
-CXX := clang++
-# the sed -i option of macOS requires a parameter for the backup file (we just use "")
-AR := /usr/bin/ar
-SED := /usr/bin/sed
-SED_IN_PLACE := -i ""
DARWIN_VERSION := $(shell uname -r | cut -d. -f1)
endif
-ifeq ($(UNAME),FreeBSD)
-CC := cc
-CXX := c++
-SED := gsed
-endif
##
## Version
@@ -222,7 +209,6 @@ endif
endif
ifeq ($(DEBUG),0)
-CFLAGS += -O2
ifneq ($(UNAME),Darwin)
LFLAGS += -s
endif
@@ -306,6 +292,13 @@ LFLAGS_NATIVE += -liconv
endif
endif # FreeBSD
+ifeq ($(UNAME),NetBSD)
+CFLAGS_NATIVE := $(CFLAGS)
+CFLAGS_NATIVE += -I$(OPENCL_HEADERS_KHRONOS)/
+LFLAGS_NATIVE := $(LFLAGS)
+LFLAGS_NATIVE += -lpthread
+endif # NetBSD
+
ifeq ($(UNAME),Darwin)
export MACOSX_DEPLOYMENT_TARGET=10.9
CFLAGS_NATIVE := $(CFLAGS)
@@ -630,8 +623,13 @@ endif
$(MODULES_DISABLE): ;
ifeq ($(SHARED),1)
+ ifeq ($(UNAME),Darwin)
+modules/module_%.$(MODULE_SUFFIX): src/modules/module_%.c $(HASHCAT_LIBRARY)
+ $(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -install_name $(SHARED_FOLDER)/$@ -shared -fPIC -D MODULE_INTERFACE_VERSION_CURRENT=$(MODULE_INTERFACE_VERSION)
+ else
modules/module_%.$(MODULE_SUFFIX): src/modules/module_%.c $(HASHCAT_LIBRARY)
$(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -shared -fPIC -D MODULE_INTERFACE_VERSION_CURRENT=$(MODULE_INTERFACE_VERSION)
+ endif
else
modules/module_%.$(MODULE_SUFFIX): src/modules/module_%.c obj/combined.NATIVE.a
$(CC) $(CCFLAGS) $(CFLAGS_NATIVE) $^ -o $@ $(LFLAGS_NATIVE) -shared -fPIC -D MODULE_INTERFACE_VERSION_CURRENT=$(MODULE_INTERFACE_VERSION)