views:

296

answers:

1

Here is the scoop: command I am Invoking:

make -d

I get this error:

Finished prerequisites of target file `stopwatch.obj'.
Must remake target `stopwatch.obj'.
Creating temporary batch file C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\make35562.sh
cl /I .\include /I "c:\Java\jdk150_13\include\win32" /I "c:\Java\jdk150_13\include"     /Fo".\build\stopwatch.obj" -nologo /c -O2 -Ot -GX -Gf -W0 -MT   .\src/stopwatch.c
A subdirectory or file .exe already exists.
Error occurred while processing: .exe.
A subdirectory or file C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\make35562.sh already exists.
Error occurred while processing: C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\make35562.sh.
make: *** [stopwatch.obj] Error 1
CreateProcess(C:\WINDOWS\system32\cmd.exe,C:/WINDOWS/system32/cmd.exe    C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\make35562.sh,...)
Putting child 0x00888ab8 (stopwatch.obj) PID 8958128 on the chain.
Live child 0x00888ab8 (stopwatch.obj) PID 8958128
Reaping losing child 0x00888ab8 PID 8958128
Cleaning up temp batch file C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\make35562.sh
Removing child 0x00888ab8 PID 8958128  from chain.

With the following make file:

Code:
#+----------------------------------------------------------------+
#| Makefile for DACAR C libraries.                                |
#| Copyright Sungard Asset Arena                                  |
#| (c) 2007-2008                                                  |
#|                                                                |
#| This file may contain confidential, proprietary, and           |
#| priviledged information. Unauthorized disclosure is prohibited.|
#|                                                                |
#| Bryce Alcock [email protected]                           |
#| 23 Aug 2007                                                    |
#+----------------------------------------------------------------+

#  Required for Windows...
SHELL=cmd.exe

# compiler def.
CC = cl
LD = link

JAVA_HOME=c:\Java\jdk150_13
# headers and libraries.
JAVA_HEADERS = /I "${JAVA_HOME}\include\win32" \
    /I "${JAVA_HOME}\include"

INCLUDES = /I .\include \
    ${JAVA_HEADERS}

JVM_LIB_PATH = /libpath:"${JAVA_HOME}\lib"

LIB_PATH = /libpath:.\build
BUILD=.\build

HEADER_FILES = dacar.h dacar_pm.h dacar_jvm.h

#  VPATH is the search path for prerequisites.
VPATH=.;.\src;.\include;.\build


# Suffix Rules are needed because this version
# of make was designed for unix (e.g. .c .o etc...)
.SUFFIXES : .obj .cpp
.SUFFIXES : .obj .c


#link and compile options.
DLL_LINK_OPTS = -nologo /dll 
EXE_LINK_OPTS = -nologo 
CC_OPTS =  -nologo /c -O2 -Ot -GX -Gf -W0 -MT  

#executables and target names.
EXE = main.exe 
EXE_SRC = main.c
DLL_SRC = stopwatch.c
DLL = assetarena_perf.dll


# Define objects as whatever SRC is but switch .c for .xxx
EXE_OBJS = ${EXE_SRC:.c=.obj}
DLL_OBJS = ${DLL_SRC:.c=.obj}
TDS_FILES = ${SRC:.c=.tds}
MAP_FILES = ${SRC:.c=.map}

all:assetarena_perf.dll main.exe 



#  link ${EXE} if any objects are newer 
${EXE}: ${EXE_OBJS} 
    ${LD} ${EXE_LINK_OPTS} jvm.lib assetarena_perf.lib   ${JVM_LIB_PATH}  ${LIB_PATH}       /out:.\build\main.exe  $?

# have to make to assetarena_perf.lib files because microsoft
# likes to have an extra underscore.
${DLL}: ${DLL_OBJS}
    ${LD} ${DLL_LINK_OPTS} jvm.lib  ${JVM_LIB_PATH} ${LIB_PATH}      /out:.\build\assetarena_perf.dll /implib:.\build\assetarena_perf.lib /dll  $? 

.c.obj :
    ${CC} ${INCLUDES} /Fo"${BUILD}\$@" ${CC_OPTS} $<

# clean the objects and other stuff.
clean :
    rm -f build\*.dll
    rm -f build\assetarena_perf.exp
    rm -f build\assetarena_perf.lib
    rm -f build\main.exe
    rm -f build\*.obj
A: 

I just removed c:\program files\OpenSSH\bin from my path, and the gnu make seems to work. I don't know why, but I suspect it has something to do with sh.exe existing in the c:\Program Files\OpenSSH\bin dir.

More comments, and thought on how to get these to programs to cooperate.

Q Boiler