I have old projects (compiled with older NASM version) that I wanted to compile
on my up-to-date Arch installation with g++ 12.1 and nasm 2.15.05
Given an x.asm and a ../include/macros.h
|->source->x.asm
|->include->macros.h
the older nasm versions when called like
nasm -M -felf64 -D__BITS__=64 -Ox -Dlinux -I../include x.asm
inside the source directory, generated correct Makefile dependencies, i.e. something like
x.o : x.asm ../include/macros.h
The current version generates dependencies like
x.o : x.asm macros.h
which of course leads to the problem that a make in the source direcory claims about missing dependencies:
make[1]: *** No rule to make target 'macros.h', needed by 'x.o'. Stop.
Can anyone enlighten me, why this is the case, and what new command line options might be missing now?