Seu problema é linhas como esta:
opt: CXXFLAGS += -O3 -funroll-loops
Embora o BSD make
honre algumas +=
operações, esse é geralmente um recurso GNU make
. No FreeBSD, o GNU make
é (quase sempre) instalado como uma porta e seu nome é gmake
.
Você pode ver isso na linha de comando usando
make --version
que imprime
usage: make [-BeikNnqrstWwX]
[-C directory] [-D variable] [-d flags] [-f makefile]
[-I directory] [-J private] [-j max_jobs] [-m directory] [-T file]
[-V variable] [variable=value] [target ...]
(não make do GNU) versus
gmake --version
que imprime
GNU Make 3.82
Built for amd64-portbld-freebsd10.0
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
(GNU make).
A maioria dos makefiles são escritos para que a execução de um ou outro desses sabores dependa da variável MAKE
sendo definida e (por exemplo) ao chamar makefiles sucessivos, ele "funcionará". Então você pode fazer apenas
gmake
e o resto dos detalhes são feitos automaticamente.