Hi -
I am not the moderator of this forum but I can give you some guidance. First, go to
http://www.drpaulcarter.com and download paul carter's nasm tutorial. Chapter 2 will give you the basic build stuff for a makefile.
You need to link to the C run-time libraries to do the call to printf. The easiest way to get started with this is to follow Carter's discussion of a "driver" written in C that will call your program, which in turn, will let you call printf or any other c function. You need the driver as a short cut to getting access to the c libraries. It's not elegant, but it will work for the moment.
A more elegant solution would be to call printf directly without using a c coded driver. A moderator such as Frank who has handled my beginner questions is the right person to discuss how to get to the c libraries without resorting to a driver. Obviously you will need some includes in your code (which you don't currently have in the sample you sent). Since the includes are going to almost certainly require accessing files outside your current directory you'll need code that sends the linker there.
That's maybe some help.
I'm glad you raised the question, because it is a part of the linking process that is not well handled in Paul Carter's very fine tutorial. I'll bet a lot of NASM beginners have exactly the same question.
Ciao
Mark Allyn