Search code examples
windowsmakefilenmake

How to deal with whitespaces in nmake Files


I want to build an application (for Creo parametric, using protoolkit API) in Windows. The API includes a pre-made nmake file which the user can modify accordingly. The problem is I do not have writing permissions in the API installation folder, where building is done by default. I therefore had to copy the makefile to a different location and change the source directory variable PROTOOL_SRC defined therein from PROTOOL_SRC = ../.. to PROTOOL_SRC = C:/Program Files/PTC/Creo 6.0.2.0/Common Files/protoolkit. The problem is that $(PROTOOL_SRC) is used in various other directory names and it appears there is no way to get the whole thing to compile with the whitespaces in the path (-> fatal error U1073). While "" seems to work for each individual case, it fails when referenced later via $(). ` and ^ do not work either. Is there a decent way to deal with this problem? Or does one have to copy the entire source folder because nmake can't handle spaces?


Solution

  • Andreas provided an easy to do solution: Using the short names of directories - which are 8 characters long and contain no whitespaces - instead of their complete names. For example, Program Files becomes PROGRA~1. The shortnames of the subfolders in a directory can be queried via dir /x in the command line.