Each time you run make, it only executes each script if the output is expected to be different from the last time your ran it.Your workflow / order of execution is explicitly documented.Which files are up-to-date and do not have to be executed again?įor this purpose, we use a workflow management system - or, in technical terms - “build tool”.īuild tools will allow us to control the execution of a set scripts by by running them from the command line.In which order do the files need to be executed?.Provide feedback to Rogue Wave about its documentation.Imagine you have built a complex project, consisting of dozens of datafiles and scripts.Īlso imagine you haven’t worked on the project for a few weeks, and now wish to continue All other trademarks are the property of their respective owners. The Rogue Wave name and logo, and Stingray, are registered trademarks of Rogue Wave Software. The pattern for the location of generated object files is:įor example, the build objects for Toolkit built with the MSVC 10.0 compiler would be something like:Ĭ:\RogueWave\Stingray Studio\10.0\Src\objs\vc10\x86\ot1104asd\*.objĬopyright © Rogue Wave Software, Inc. After building the libraries, we recommend deleting these object files to reclaim the space on your hard drive. The intermediary object files that are produced from the Stingray Studio product libraries can appropriate significant disk space on your computer. To build with 1-byte structure alignment, add the flag /Zp1 to this set of flags: These flags are common to all configurations:ĬOMMON_CPP=/nologo /D "WIN32" /D "_WINDOWS" $(OTPRO_FLAGS) /GX /W4 In this file, you will find an entry something like this: So, for example, \Src\Toolkit\BkEndMak\bldback10 if you want to build Toolkit with the MSVC 10.0 compiler. If your application requires another alignment, such as 1-byte, you need to recompile the Stingray Studio product libraries to match it.įor a given library, you need to open the back-end make file, described above. The Stingray Studio product libraries are compiled using the default 8-byte structure alignment flag by default. Table 4: Build target specifications Target specificationĢ.3.2 Compiling with 1-Byte Structure Alignment Table 4 shows the different possible target specifications, and describes the resulting build. Table 3: Product Abbreviations used in nmake targets Product Abbreviation The values for as used in the specification are two- or three-character abbreviations of the product names, as shown in Table 3 below. The # variable refers to one of the supported compiler versions as used in the make file names, which are 80, 90 or 10, corresponding to the MSVC 8.0, 9.0, and 10.0 compilers respectively. The variable corresponds to the product name as found in each product's make file name, e.g., toolkit. To remove all intermediary files created by the build. Builds are 32-bit unless the optional macro is included, in which case it is 64-bit. To build all library variants described below. Build is 32-bit unless the optional macro is included, in which case it is 64-bit. To build a particular library denoted by, where =, or the values ansi, unicode, or all. Here is the syntax for using the nmake command: Please refer to the release notes for up-to-date information on these issues.
MAKEFILE FOR WINDOWS HOW TO MAKE WINDOWS
Some issues have been discovered in building with nmake on Vista and Windows 7. mak files and bldback#.mak files are affected by the Build Wizard. The bldback#.mak files are located per product in the \Src\ \BkEndMak subdirectory. mak file invokes a back-end make file named bldback#.mak, which performs the actual build. In the corresponding solution file, Toolkit10.sln for the above example, you can look in the project settings to find the command line invocation used.Įach product's. For example, the file toolkit10.mak is for building Toolkit with the MSVC 10.0 compiler. In the \Src directory, there are makefiles for each product by supported compiler version. mak file as an external makefile, with a command line argument that reflects the library you want to build. When you build from Microsoft Visual Studio, Visual Studio invokes nmake against the product's. 3 Building from the Command Line with nmake Rogue Wave web site: Home Page | Main Documentation.