Thanks. That helped out a lot. :-)

The \ is escaping the *.  This works on every other platform, including Windows with other compilers.  Using '*' and "*" have the same results. In any case, using _CRT_glob is a good work around for now.

On 7/26/07, Danny Smith <> wrote:
> I'm trying to run a tool that we created from GNU make. This tool is built with MinGW.  One of the command line arguments > is suppose to be a literal asterisk (*).
> In our Makefile we use the following argument when running one of the tools we built earlier in our makefile.
> -x \*

This, from the samples dir in mingw-runtime src, shows how how to turn off globbing:

#include <stdlib.h>
#include <stdio.h>
#include <windows.h>

/* This line turns off automatic command line globbing. */
int _CRT_glob = 0;

main (int argc, char* argv[])
        int     i;

        printf ("Command line (via GetCommandLine) \"%s\"\n",
        for (i = 0; i < argc; i++)
                printf ("Argv[%d] \"%s\"\n", i, argv[i]);

        return 0;

Another way is to quote the arguments.