Closed trn1ty closed 3 years ago
Looks like your make(s) don't understand constructions like
ifeq ($(OS), Windows_NT)
OS := Windows
else
OS := $(shell uname -s)
endif
There are three of those ifeq ($(OS), ...
sections in the top-level makefile. Since you know your OS isn't Windows_NT, Windows, or Darwin, it should be pretty clear what small snippets of the makefile you need to remove to make it work on NetBSD.
Which version of gmake
do you have? (gmake -v
)
Hmmm... GNU Make 4.2.1
. Looks like the latest is 4.3... could that be the problem?
Deleted the Windows/macOS lines in ./makefile
and commented out some lines in ./src/makefile
(93-95, 98, 101 - I left the GCCFLAGS
and LDFLAGS
in because my system C compiler is gcc) but now I get this:
ld: /usr/lib/crt0.o: in function `___start':
(.text+0x2e9): undefined reference to `main'
This happens whether or not I comment out line 100 (LDFLAGS
). I'm out of my domain of knowledge here so sorry if the solution is something obvious!
Something obvious? I wish. But staring at src/makefile
, ld
should have a reference to main
coming from ne.o
, so... Hmm.
In the src directory, do a make clean
, then try a make
. If it still fails the same way, do another make clean
followed by make -n
and post the results. (Or do those make
invocations need to be gmake
?) Sorry this is rather vague. It's strange enough doing this on a local machine. Figuring it out through email/github will test one's patience.
Did not build on NetBSD with the
make
tool I had:I tried with gmake (the GNU version of
make
) and had the same issue:Does anyone have an idea as to what's wrong here?