Monday, July 20, 2009

Being lazy: make.cmd

A short batch file that let's me skip typing as much as possible when using vcbuild on my present projects.

@ECHO OFF
cls 
IF "%1" EQU "help" (
 ECHO %0 help           --  display this help
 ECHO %0 clean target   --  clean for "target"
 ECHO %0 target [run]   --  build and run "target"
 GOTO EXITPOINT
)

IF "%1" EQU "clean" (
 vcbuild /clean TheSolutionFile.sln "%2|Win32"
) ELSE (
 IF "%2" EQU "run" (
  vcbuild TheSolutionFile.sln "%1|Win32" && path\to\the.exe
 ) ELSE (
  vcbuild TheSolutionFile.sln "%1|Win32"
 )
)

:EXITPOINT

which is (obviously) saved in the same direction as my solution file. A trivial modification would allow passing the solution file through an environment variable, and one could always use vcbuild's understanding of a lone project file in the present directory but I tend to keep a shell open to the same location as my solution file.


Then again, at the moment I am using a file system hierarchy that looks sort of like this for most of my current stuff:

...
SolutionFile.sln
Project/
  ProjectFile.vcproj
  Makefile # the big thing for conventional builds
  Makefile.compiler
  ...
  Source/
    *.c, *.cpp, ...
    include/
      *.h, *.hpp, ...
    lib/
      # project specific library files
  Build/
    Target/
      # result of compiling (e.g. 'make target')
  ...

No comments:

Post a Comment