nmake makefile, linking objects files in a subfolder

Posted by Gauthier on Stack Overflow See other posts from Stack Overflow or by Gauthier
Published on 2010-04-20T08:15:11Z Indexed on 2010/04/20 8:53 UTC
Read the original article Hit count: 675

Filed under:
|

My makefile defines a link command:

prod_link = $(LINK) $(LINK_FLAGS) -o$(PROD_OUT) $(PROD_OBJS)

where $(PROD_OBJS) is a list of object files of the form:

PROD_OBJS = objfile1.obj objfile2.obj objfile3.obj ... objfileN.obj

Now the makefile itself is at the root of my project directory. It gets messy to have object and listing files at the root, I'd like to put them in a subfolder.

Building and outputing the obj files to a subfolder works, I'm doing it with suffixes and inference:

.s.obj:
    $(ASSEMBLY) $(FLAGS) $*.s -o Objects\$*.obj

The problem is to pass the Objects folder to the link command.

I tried:

prod_link = $(LINK) $(LINK_FLAGS) -o$(PROD_OUT) Objects\$(PROD_OBJS)

but only the first file in the list of object files gets the folder's name.

How can I pass the Objects subfolder to all files of my list $(PROD_OBJS)?


EDIT

I tried also

PROD_OBJS = $(patsubst %.ss,Object\%.obj, $(PROD_SRC))

but got:

makefile(51) : fatal error U1000: syntax error : ')' missing in macro invocation
Stop.

This is quite strange...

© Stack Overflow or respective owner

Related posts about makefile

Related posts about nmake