Question: make, makefile and KVM in J2ME

yi ru ru_yi99@hotmail.com
Fri Mar 28 15:30:00 GMT 2003


Hi, Igor Pechtchanski

Thank you for your help. According to your guide, I find the correct 
solution to make file. But I still have a problem during the making. I am 
not sure it is problem in KVM or I miss some parts when I set up the Cygwin. 
I meet a error message (I have a full list as follows)
make[2]: Entering directory `/cygdrive/c/J2ME/CLDC/tools/jcc'
make[2]: *** No rule to make target `classesWin.zip', needed by 
`nativeFunctionT
ableWin.c'.  Stop.
make[2]: Leaving directory `/cygdrive/c/J2ME/CLDC/tools/jcc'

what the classesWin.zip means here? native funcation should come from JCC
Thd makefile in  J2ME/CLDC/tools/jcc is:

TOP=../..
include $(TOP)/build/Makefile.inc

JAVA          = java
JAVAC         = javac
JAR           = jar

JAVAFILES =  $(shell find src -name "*.java"|grep -v SCCS)

CLASSFILES = $(subst src,classes,$(JAVAFILES:java=class))

# $< is dependency
# $@ is target


$(CLASSFILES): classes/%.class : src/%.java
	@echo $< >> .filelist

eraselists:
	@rm -f .filelist

compilefiles:
	@if [ '!' -d classes ]; then rm -rf classes; mkdir classes; fi;
	@if [ -f .filelist ]; then \
		echo $(JAVAC) `cat .filelist`; \
		$(JAVAC) -d classes -classpath classes:src \
	              `cat .filelist`; \
	fi

ifeq ($(PLATFORM), solaris)
all:    unix
endif

ifeq ($(PLATFORM), linux)
all:    unix
endif

ifeq ($(PLATFORM), win32)
all:    windows
endif


unix:	 nativeFunctionTableUnix.c ROMjavaUnix.c

windows: nativeFunctionTableWin.c ROMjavaWin.c

tools: eraselists $(CLASSFILES) compilefiles

ifneq ($(JCC_PASS_TWO), true)

ROMjava%.c: classes%.zip tools
	@cp -f src/*.properties classes
	@$(MAKE) $@ JCC_PASS_TWO=true

nativeFunctionTable%.c: classes%.zip tools
	@cp -f src/*.properties classes
	@$(MAKE) $@ JCC_PASS_TWO=true

nativeRelocation%.c: classes%.zip tools
	@cp -f src/*.properties classes
	@$(MAKE) $@ JCC_PASS_TWO=true

#Classes that aren't currently used for a particular platform
NON_Unix_CLASSES = ''

NON_Win_CLASSES  = ''

classes%.zip: classes.zip
	@echo ... $@
	@cp classes.zip $@

classes.zip: $(TOP)/api/classes.zip
	@echo ... $@
	@cmp -s $< $@ || (echo cp $< $@ ; cp $< $@)


$(TOP)/api/classes.zip: .FORCE
	@(cd $(TOP)/api; $(MAKE) classes.zip)

else

# One of the possible architectures when creating ROMjava*.c
UnixArch = KVM
WinArch =  KVM

UnixFlags =
WinFlags =

ROMjava%.c: classes%.zip
	@echo ... $@
	$(JAVA) -classpath classes JavaCodeCompact \
	          $($(patsubst classes%.zip,%Flags,$<)) \
	         -arch $($(patsubst classes%.zip,%Arch,$<)) -o $@ $<

nativeFunctionTable%.c: classes%.zip
	@echo ... $@
	@cp -f src/*.properties classes
	$(JAVA) -classpath classes JavaCodeCompact \
	          $($(patsubst classes%.zip,%Flags,$<)) \
		 -arch KVM_Native -o $@ $<

nativeRelocation%.c: classes%.zip
	@echo ... $@
	$(JAVA) -classpath classes JavaCodeCompact \
	         -imageAttribute relocating \
	          $($(patsubst classes%.zip,%Flags,$<)) \
	         -arch $($(patsubst classes%.zip,%Arch,$<)) -o $@ $<

endif


clean:
	@rm -rf .filelist
	@rm -rf classes tmpjar
	@rm -rf *.zip
	@rm -rf ROMjava*
	@rm -rf nativeFunctionTable*
	@rm -rf nativeRelocation*
	@rm -rf *~ */*~ */*/*~
	@rm -rf *# */*# */*/*#


# I have no idea why this is necessary, but otherwise gnumake deletes
# these as intermediate files
.SECONDARY:	classesUnix.zip classesWin.zip

.FORCE:


here is a full list for implementation result of make

==================================================================================
C:\J2ME\CLDC\build\win32>make GCC=true -n
for i in ../../tools/preverifier/build/win32 ../../api ../../samples 
../../sampl
es/jam ../../tools/jcc ../../kvm/VmWin/build ; do \
    echo ">>>Recursively making "$i" "all"..."; \
    cd $i; make all \
    || exit 1; cd /cygdrive/c/J2ME/CLDC/build/win32; \
    echo "<<<Finished Recursively making "$i" "all"." ; \
done
>>>Recursively making ../../tools/preverifier/build/win32 all...
make[1]: Entering directory 
`/cygdrive/c/J2ME/CLDC/tools/preverifier/build/win32
'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory 
`/cygdrive/c/J2ME/CLDC/tools/preverifier/build/win32'

<<<Finished Recursively making ../../tools/preverifier/build/win32 all.
>>>Recursively making ../../api all...
File not found - *.java
File not found - *.java
make[1]: Entering directory `/cygdrive/c/J2ME/CLDC/api'
rm -f .filelist
if [ '!' -d tmpclasses ]; then rm -rf tmpclasses; mkdir tmpclasses; fi;
if [ -f .filelist ]; then \
        echo javac  -g":none" -d tmpclasses -bootclasspath classes \
              -classpath classes `cat .filelist`; \
        javac  -g":none" -d tmpclasses -bootclasspath classes \
              -classpath classes `cat .filelist` || exit 1; \
        echo ../tools/preverifier/build/win32/preverify -d classes 
tmpclasses; \

        ../tools/preverifier/build/win32/preverify -d classes tmpclasses || 
exit
1; \
        fi
make[1]: Leaving directory `/cygdrive/c/J2ME/CLDC/api'
<<<Finished Recursively making ../../api all.
>>>Recursively making ../../samples all...
File not found - *.java
File not found - *.java
make[1]: Entering directory `/cygdrive/c/J2ME/CLDC/samples'
rm -f .filelist
if [ '!' -d tmpclasses ]; then rm -rf tmpclasses; mkdir tmpclasses; fi;
if [ -f .filelist ]; then \
        echo javac -g":none" -d tmpclasses \
              -classpath tmpclasses:../api/classes \
              -bootclasspath ../api/classes `cat .filelist`; \
        javac -g":none" -d tmpclasses \
                      -classpath tmpclasses:../api/classes \
              -bootclasspath ../api/classes \
                      `cat .filelist` || exit 1; \
        echo ../tools/preverifier/build/win32/preverify -d classes 
-classpath ..
/api/classes \
                      tmpclasses; \
        ../tools/preverifier/build/win32/preverify -d classes -classpath 
../api/
classes \
                      tmpclasses || exit 1; \
        fi
make[1]: Leaving directory `/cygdrive/c/J2ME/CLDC/samples'
<<<Finished Recursively making ../../samples all.
>>>Recursively making ../../samples/jam all...
make[1]: Entering directory `/cygdrive/c/J2ME/CLDC/samples/jam'
rm -rf tmpclasses1
rm -rf tmpclasses2
mkdir tmpclasses1
mkdir tmpclasses2
javac -d tmpclasses1 -bootclasspath ../../api/classes src/HelloWorld.java
../../tools/preverifier/build/win32/preverify -classpath ../../api/classes 
-d tm
pclasses2 tmpclasses1
cd tmpclasses2; jar cvf ../HelloWorld.jar .; cd ..
wc: HelloWorld.jar: No such file or directory
sed "s/%%JarSize%%//" src/HelloWorld.jam.template > HelloWorld.jam
make[1]: Leaving directory `/cygdrive/c/J2ME/CLDC/samples/jam'
<<<Finished Recursively making ../../samples/jam all.
>>>Recursively making ../../tools/jcc all...
File not found - *.java
File not found - *.java
make[1]: Entering directory `/cygdrive/c/J2ME/CLDC/tools/jcc'
(cd ../../api; make classes.zip)
File not found - *.java
File not found - *.java
make[2]: Entering directory `/cygdrive/c/J2ME/CLDC/api'
rm -f .filelist
if [ '!' -d tmpclasses ]; then rm -rf tmpclasses; mkdir tmpclasses; fi;
if [ -f .filelist ]; then \
        echo javac  -g":none" -d tmpclasses -bootclasspath classes \
              -classpath classes `cat .filelist`; \
        javac  -g":none" -d tmpclasses -bootclasspath classes \
              -classpath classes `cat .filelist` || exit 1; \
        echo ../tools/preverifier/build/win32/preverify -d classes 
tmpclasses; \

        ../tools/preverifier/build/win32/preverify -d classes tmpclasses || 
exit
1; \
        fi
rm -rf classes.zip
jar cfM0 classes.zip -C classes .
make[2]: Leaving directory `/cygdrive/c/J2ME/CLDC/api'
echo ... classes.zip
cmp -s ../../api/classes.zip classes.zip || (echo cp ../../api/classes.zip 
class
es.zip ; cp ../../api/classes.zip classes.zip)
rm -f .filelist
if [ '!' -d classes ]; then rm -rf classes; mkdir classes; fi;
if [ -f .filelist ]; then \
        echo javac `cat .filelist`; \
        javac -d classes -classpath classes:src \
              `cat .filelist`; \
fi
echo ... classesWin.zip
cp classes.zip classesWin.zip
cp -f src/*.properties classes
make nativeFunctionTableWin.c JCC_PASS_TWO=true
File not found - *.java
File not found - *.java
make[2]: Entering directory `/cygdrive/c/J2ME/CLDC/tools/jcc'
make[2]: *** No rule to make target `classesWin.zip', needed by 
`nativeFunctionT
ableWin.c'.  Stop.
make[2]: Leaving directory `/cygdrive/c/J2ME/CLDC/tools/jcc'
make[1]: *** [nativeFunctionTableWin.c] Error 2
make[1]: Leaving directory `/cygdrive/c/J2ME/CLDC/tools/jcc'
make: *** [all] Error 1

C:\J2ME\CLDC\build\win32>
==================================================================================

Many thanks

Eric






>From: Igor Pechtchanski <pechtcha@cs.nyu.edu>
>Reply-To: cygwin@cygwin.com
>To: yi ru <ru_yi99@hotmail.com>
>CC: cygwin@cygwin.com
>Subject: Re: Question: make, makefile and KVM in J2ME
>Date: Fri, 28 Mar 2003 01:43:40 -0500 (EST)
>
>Eric,
>
>If you have questions about setup.exe usage, you might wish to read the
>excellent document at <http://cygwin.com/cygwin-ug-net/setup-net.html>.
>
> > cl -DWIN32 -nologo -DBUILD_VERSION='""' -I../../src -DWIN32 -DJAVAVERIFY 
>-DTRIMMED -Di386   -c -Focheck_class.obj ../../src/check_class.c
>
>There's your answer.  You're not executing Cygwin's gcc, you're attempting
>to execute "cl" (which, I believe, is the MSVC command-line compiler
>interface).  Looking at the Makefile you quoted earlier, you'll need to at
>least define GCC.  Not knowing how the Makefiles are structured, I would
>suggest looking for a README file or build instructions in the kvm
>distribution.  It may be something as simple as invoking "make GCC=true",
>but I doubt it somehow.  Now that we've determined that your problem is
>not due to a Cygwin bug, but is a general Makefile usage problem, you may
>have better luck asking this question on the kvm list (if there is one),
>or contacting the kvm developers.  The make documentation ("info make",
>"man make") may also be helpful.
>	Igor
>
>On Fri, 28 Mar 2003, yi ru wrote:
>
> > Hi, Igor Pechtchanski
> >
> > If i need to reinstall the package. which optional should i select. 
>install
> > or reinstall. and I have to mark all small squares which are in the src 
>and
> > bin list  of the devel
> >
> >
> > this is my result when I use make -n
> > 
>=================================================================================
> > C:\J2ME\CLDC\build\win32>make -n
> > for i in ../../tools/preverifier/build/win32 ../../api ../../samples 
>../../samples/jam ../../tools/jcc ../../kvm/VmWin/build ; do \
> >     echo ">>>Recursively making "$i" "all"..."; \
> >     cd $i; make all \
> >     || exit 1; cd /cygdrive/c/J2ME/CLDC/build/win32; \
> >     echo "<<<Finished Recursively making "$i" "all"." ; \
> > done
> > >>>Recursively making ../../tools/preverifier/build/win32 all...
> > make[1]: Entering directory 
>`/cygdrive/c/J2ME/CLDC/tools/preverifier/build/win32'
> > cl -DWIN32 -nologo -DBUILD_VERSION='""' -I../../src -DWIN32 -DJAVAVERIFY 
>-DTRIMMED -Di386   -c -Focheck_class.obj ../../src/check_class.c
> > cl -DWIN32 -nologo -DBUILD_VERSION='""' -I../../src -DWIN32 -DJAVAVERIFY 
>-DTRIMMED -Di386   -c -Fomain.obj ../../src/main.c
> > cl -DWIN32 -nologo -DBUILD_VERSION='""' -I../../src -DWIN32 -DJAVAVERIFY 
>-DTRIMMED -Di386   -c -Foutf.obj ../../src/utf.c
> > cl -DWIN32 -nologo -DBUILD_VERSION='""' -I../../src -DWIN32 -DJAVAVERIFY 
>-DTRIMMED -Di386   -c -Focheck_code.obj ../../src/check_code.c
> > cl -DWIN32 -nologo -DBUILD_VERSION='""' -I../../src -DWIN32 -DJAVAVERIFY 
>-DTRIMMED -Di386   -c -Foconvert_md.obj ../../src/convert_md.c
> > cl -DWIN32 -nologo -DBUILD_VERSION='""' -I../../src -DWIN32 -DJAVAVERIFY 
>-DTRIMMED -Di386   -c -Foutil.obj ../../src/util.c
> > cl -DWIN32 -nologo -DBUILD_VERSION='""' -I../../src -DWIN32 -DJAVAVERIFY 
>-DTRIMMED -Di386   -c -Fojar.obj ../../src/jar.c
> > cl -DWIN32 -nologo -DBUILD_VERSION='""' -I../../src -DWIN32 -DJAVAVERIFY 
>-DTRIMMED -Di386   -c -Fojar_support.obj ../../src/jar_support.c
> > cl -DWIN32 -nologo -DBUILD_VERSION='""' -I../../src -DWIN32 -DJAVAVERIFY 
>-DTRIMMED -Di386   -c -Foclassloader.obj ../../src/classloader.c
> > cl -DWIN32 -nologo -DBUILD_VERSION='""' -I../../src -DWIN32 -DJAVAVERIFY 
>-DTRIMMED -Di386   -c -Fofile.obj ../../src/file.c
> > cl -DWIN32 -nologo -DBUILD_VERSION='""' -I../../src -DWIN32 -DJAVAVERIFY 
>-DTRIMMED -Di386   -c -Foclassresolver.obj ../../src/classresolver.c
> > cl -DWIN32 -nologo -DBUILD_VERSION='""' -I../../src -DWIN32 -DJAVAVERIFY 
>-DTRIMMED -Di386   -c -Fostubs.obj ../../src/stubs.c
> > cl -DWIN32 -nologo -DBUILD_VERSION='""' -I../../src -DWIN32 -DJAVAVERIFY 
>-DTRIMMED -Di386   -c -Foinlinejsr.obj ../../src/inlinejsr.c
> > cl -DWIN32 -nologo -DBUILD_VERSION='""' -I../../src -DWIN32 -DJAVAVERIFY 
>-DTRIMMED -Di386   -c -Fosys_support.obj ../../src/sys_support.c
> > link  check_class.obj main.obj utf.obj check_code.obj convert_md.obj 
>util.obj jar.obj jar_support.obj classloader.obj file.obj classresolver.obj 
>stubs.obj inlinejsr.obj sys_support.obj -out:preverify.exe user32.lib 
>kernel32.lib wsock32.lib
> > make[1]: Leaving directory 
>`/cygdrive/c/J2ME/CLDC/tools/preverifier/build/win32'
> >
> > <<<Finished Recursively making ../../tools/preverifier/build/win32 all.
> > >>>Recursively making ../../api all...
> > File not found - *.java
> > File not found - *.java
> > make[1]: Entering directory `/cygdrive/c/J2ME/CLDC/api'
> > rm -f .filelist
> > if [ '!' -d tmpclasses ]; then rm -rf tmpclasses; mkdir tmpclasses; fi;
> > if [ -f .filelist ]; then \
> >         echo javac  -g":none" -d tmpclasses -bootclasspath classes \
> >               -classpath classes `cat .filelist`; \
> >         javac  -g":none" -d tmpclasses -bootclasspath classes \
> >               -classpath classes `cat .filelist` || exit 1; \
> >         echo ../tools/preverifier/build/win32/preverify -d classes 
>tmpclasses; \
> >         ../tools/preverifier/build/win32/preverify -d classes tmpclasses 
>|| exit 1; \
> >         fi
> > make[1]: Leaving directory `/cygdrive/c/J2ME/CLDC/api'
> > <<<Finished Recursively making ../../api all.
> > >>>Recursively making ../../samples all...
> > File not found - *.java
> > File not found - *.java
> > make[1]: Entering directory `/cygdrive/c/J2ME/CLDC/samples'
> > rm -f .filelist
> > if [ '!' -d tmpclasses ]; then rm -rf tmpclasses; mkdir tmpclasses; fi;
> > if [ -f .filelist ]; then \
> >         echo javac -g":none" -d tmpclasses \
> >               -classpath tmpclasses:../api/classes \
> >               -bootclasspath ../api/classes `cat .filelist`; \
> >         javac -g":none" -d tmpclasses \
> >                       -classpath tmpclasses:../api/classes \
> >               -bootclasspath ../api/classes \
> >                       `cat .filelist` || exit 1; \
> >         echo ../tools/preverifier/build/win32/preverify -d classes 
>-classpath ../api/classes \
> >                       tmpclasses; \
> >         ../tools/preverifier/build/win32/preverify -d classes -classpath 
>../api/classes \
> >                       tmpclasses || exit 1; \
> >         fi
> > make[1]: Leaving directory `/cygdrive/c/J2ME/CLDC/samples'
> > <<<Finished Recursively making ../../samples all.
> > >>>Recursively making ../../samples/jam all...
> > make[1]: Entering directory `/cygdrive/c/J2ME/CLDC/samples/jam'
> > rm -rf tmpclasses1
> > rm -rf tmpclasses2
> > mkdir tmpclasses1
> > mkdir tmpclasses2
> > javac -d tmpclasses1 -bootclasspath ../../api/classes 
>src/HelloWorld.java ../../tools/preverifier/build/win32/preverify 
>-classpath ../../api/classes -d tmpclasses2 tmpclasses1
> > cd tmpclasses2; jar cvf ../HelloWorld.jar .; cd ..
> > wc: HelloWorld.jar: No such file or directory
> > sed "s/%%JarSize%%//" src/HelloWorld.jam.template > HelloWorld.jam
> > make[1]: Leaving directory `/cygdrive/c/J2ME/CLDC/samples/jam'
> > <<<Finished Recursively making ../../samples/jam all.
> > >>>Recursively making ../../tools/jcc all...
> > File not found - *.java
> > File not found - *.java
> > make[1]: Entering directory `/cygdrive/c/J2ME/CLDC/tools/jcc'
> > (cd ../../api; make classes.zip)
> > File not found - *.java
> > File not found - *.java
> > make[2]: Entering directory `/cygdrive/c/J2ME/CLDC/api'
> > rm -f .filelist
> > if [ '!' -d tmpclasses ]; then rm -rf tmpclasses; mkdir tmpclasses; fi;
> > if [ -f .filelist ]; then \
> >         echo javac  -g":none" -d tmpclasses -bootclasspath classes \
> >               -classpath classes `cat .filelist`; \
> >         javac  -g":none" -d tmpclasses -bootclasspath classes \
> >               -classpath classes `cat .filelist` || exit 1; \
> >         echo ../tools/preverifier/build/win32/preverify -d classes 
>tmpclasses; \
> >         ../tools/preverifier/build/win32/preverify -d classes tmpclasses 
>|| exit 1; \
> >         fi
> > rm -rf classes.zip
> > jar cfM0 classes.zip -C classes .
> > make[2]: Leaving directory `/cygdrive/c/J2ME/CLDC/api'
> > echo ... classes.zip
> > cmp -s ../../api/classes.zip classes.zip || (echo cp 
>../../api/classes.zip classes.zip ; cp ../../api/classes.zip classes.zip)
> > rm -f .filelist
> > if [ '!' -d classes ]; then rm -rf classes; mkdir classes; fi;
> > if [ -f .filelist ]; then \
> >         echo javac `cat .filelist`; \
> >         javac -d classes -classpath classes:src \
> >               `cat .filelist`; \
> > fi
> > echo ... classesWin.zip
> > cp classes.zip classesWin.zip
> > cp -f src/*.properties classes
> > make nativeFunctionTableWin.c JCC_PASS_TWO=true
> > File not found - *.java
> > File not found - *.java
> > make[2]: Entering directory `/cygdrive/c/J2ME/CLDC/tools/jcc'
> > make[2]: *** No rule to make target `classesWin.zip', needed by 
>`nativeFunctionTableWin.c'.  Stop.
> > make[2]: Leaving directory `/cygdrive/c/J2ME/CLDC/tools/jcc'
> > make[1]: *** [nativeFunctionTableWin.c] Error 2
> > make[1]: Leaving directory `/cygdrive/c/J2ME/CLDC/tools/jcc'
> > make: *** [all] Error 1
> > 
>=================================================================================
> >
> >
> >
> > >From: Igor Pechtchanski <pechtcha@cs.nyu.edu>
> > >Reply-To: cygwin@cygwin.com
> > >To: yi ru <ru_yi99@hotmail.com>
> > >CC: cygwin@cygwin.com
> > >Subject: Re: Question: make, makefile and KVM in J2ME
> > >Date: Fri, 28 Mar 2003 00:01:49 -0500 (EST)
> > >
> > >Eric,
> > >
> > >One more rule of this list: please keep replies on the list instead of
> > >sending private mail.  That way you get access to much more expertise 
>than
> > >a lone person can offer.  For your convenience, I've reset the 
>Reply-To:
> > >field accordingly.
> > >
> > >Try running "make" with a "-n" to see what commands would be executed.
> > >Try running each command by hand.  It's likely you have a problem with
> > >your gcc installation.  You may, for example, be missing the gcc-mingw
> > >package, which is necessary for the "-mno-cygwin" option used in the
> > >Makefile.  Attaching the output of "cygcheck -svr", as described in
> > ><http://cygwin.com/bugs.html>, would be very helpful for answering 
>these
> > >kinds of questions.
> > >
> > >Others on this list may also offer useful suggestions.
> > >       Igor
> > >
> > >On Fri, 28 Mar 2003, yi ru wrote:
> > >
> > > > Hi, Igor Pechtchanski
> > > >
> > > > I am new comer to this mail list. I don't know the rule here. Sorry 
>for
> > > > switch the thread. Next time will I just reply the message instead 
>of
> > > > putting a new thread if I want to continue discuss?
> > > >
> > > > Yeah you are right, I miss many there. I am not farmilar with 
>cygwin. I
> > > > don't put more detail (the right makefile). because I find a similar 
>one
> > >the
> > > > list so I follow his one and hope to get help.
> > > >
> > > > Here is the makefile in the tools/preverifier/build/win32
> > > >
> > 
> >=================================================================================
> > > > #
> > > > # Copyright 1995-2002 by Sun Microsystems, Inc.,
> > > > # 901 San Antonio Road, Palo Alto, California, 94303, U.S.A.
> > > > # All rights reserved.
> > > > #
> > > > # This software is the confidential and proprietary information
> > > > # of Sun Microsystems, Inc. ("Confidential Information").  You
> > > > # shall not disclose such Confidential Information and shall use
> > > > # it only in accordance with the terms of the license agreement
> > > > # you entered into with Sun.
> > > > # Use is subject to license terms.
> > > > #
> > > >
> > > > TOP=../../../..
> > > > include $(TOP)/build/Makefile.inc
> > > >
> > > > SRC_DIR = ../../src
> > > >
> > > > OBJS = \
> > > >     check_class.obj \
> > > >     main.obj \
> > > >     utf.obj \
> > > >     check_code.obj \
> > > >         convert_md.obj \
> > > >     util.obj \
> > > >         jar.obj \
> > > >         jar_support.obj \
> > > >     classloader.obj \
> > > >     file.obj \
> > > >     classresolver.obj \
> > > >     stubs.obj \
> > > >     inlinejsr.obj \
> > > >     sys_support.obj
> > > >
> > > > OTHER_FLAGS += \
> > > >     -I$(SRC_DIR) \
> > > >     -DWIN32 \
> > > >     -DJAVAVERIFY \
> > > >     -DTRIMMED \
> > > >     -D$(ARCH) \
> > > >     $(EXTRACFLAGS)
> > > >
> > > > ifeq ($(GCC), true)
> > > >    CC = gcc
> > > >    LD = gcc
> > > >    CFLAGS = -DWIN32 -DGCC -mno-cygwin -mcpu=i386 -Wall 
>$(OTHER_FLAGS)
> > > >    LIBS= -luser32 -lkernel32 -lmsvcrt -lwsock32
> > > >    CPPFLAGS +=
> > > >    DEBUG_FLAG =
> > > >    LDFLAGS = -mno-cygwin
> > > >
> > > > ifeq ($(DEBUG), true)
> > > >    DEBUG_FLAG = -g
> > > > endif
> > > >
> > > >    OPTIMIZE_FLAG = -O2
> > > >    OUTPUT = -o
> > > >    LINKER_OUTPUT = -o
> > > >
> > > > else
> > > >    CC= cl
> > > >    LD= link
> > > >    CFLAGS= -DWIN32 -nologo $(OTHER_FLAGS)
> > > >    LIBS= user32.lib kernel32.lib wsock32.lib
> > > >    CPPFLAGS +=
> > > >    DEBUG_FLAG =
> > > >    LDFLAGS =
> > > >
> > > > ifeq ($(DEBUG), true)
> > > >    DEBUG_FLAG= -Zi -Od
> > > >    LDFLAGS += -debug
> > > > endif
> > > >
> > > >    OPTIMIZE_FLAG= -Os -O1
> > > >    OUTPUT = -Fo
> > > >    LINKER_OUTPUT = -out:
> > > > endif
> > > >
> > > >
> > > > all: preverify.exe
> > > >
> > > > preverify.exe: $(OBJS)
> > > >     @$(LD) $(LDFLAGS) $(OBJS) $(LINKER_OUTPUT)$@ $(LIBS)
> > > >
> > > > %.obj: $(SRC_DIR)/%.c
> > > >     @$(CC) $(CFLAGS) $(DEBUG_FLAG) -c $(OUTPUT)$@ $<
> > > >
> > > > clean:
> > > >     rm -f core *.obj preverify.exe *.ilk *.pdb
> > > >
> > > >
> > 
> >=================================================================================
> > > >
> > > > When I install cygwin (setup.exe). I select all option in the devel 
>and
> > >I
> > > > select all others by default. Actually I use this soft three days 
>age
> > >and I
> > > > really don't know how to give a correct description of my question
> > >although
> > > > I read some documents in the website.
> > > >
> > > > Thank you for your help, I will read the makefile you mentioned and 
>also
> > > > wait for your help further.
> > > >
> > > > Eric
> > > >
> > > >
> > > > >From: Igor Pechtchanski <pechtcha@cs.nyu.edu>
> > > > >Reply-To: cygwin@cygwin.com
> > > > >To: yi ru <ru_yi99@hotmail.com>
> > > > >CC: cygwin@cygwin.com
> > > > >Subject: Re: Question: make, makefile and KVM in J2ME
> > > > >Date: Thu, 27 Mar 2003 16:07:29 -0500 (EST)
> > > > >
> > > > >On Thu, 27 Mar 2003, yi ru wrote:
> > > > >
> > > > > > Hi, Igor Pechtchanski
> > > > > >
> > > > > > The sun's "release notes" recommend me to download setup.exe of
> > >cygwin to
> > > > > > install in order to use make. That is, the way was tested
> > >successfully. I
> > > > > > try to use (gnu)make to port kvm. Somebody did it and get the
> > >different
> > > > > > error (127). I get the error 255 and I don't understand what it
> > >means.
> > > > > >
> > > > > > anyway, many thanks your reply. I also look forward to a 
>solution.
> > > > > >
> > > > > > thanks
> > > > > > Eric
> > > > >
> > > > >Eric,
> > > > >
> > > > >FYI, there can be no solution when there isn't a clear description 
>of
> > >the
> > > > >problem.  You haven't posted any information on what Cygwin 
>packages
> > >were
> > > > >installed on your system by setup.exe, as indicated in
> > > > ><http://cygwin.com/bugs.html>.  You did not outline the exact steps
> > >that
> > > > >would allow people to reproduce the problem.  You didn't even post 
>the
> > > > >right makefile (you posted the top-level one, but the one that 
>bombs is
> > >in
> > > > >tools/preverifier/build/win32).  This is especially important 
>since, by
> > > > >your own statement, other people cannot exactly reproduce your 
>problem
> > > > >(different error code), even if people here could be bothered to
> > >download
> > > > >kvm and compile it.  And to top it off, you've switched the subject 
>of
> > >the
> > > > >message, so the continuity of the thread is broken (since you "mail
> > > > >client" doesn't bother keeping thread information either).
> > > > >
> > > > >That being said, remember that from the point of view of many build
> > > > >environments, Cygwin is more like Linux than like Win32.  I don't 
>know
> > > > >anything about kvm, but you may need to re-run configure, or
> > >something...
> > > > >Also, error code 255 usually means that a program couldn't be
> > >"exec()"d,
> > > > >so check the appropriate make rule in the offending Makefile.
> > > > >   Igor
> > >
> > >--
> > >                               http://cs.nyu.edu/~pechtcha/
> > >       |\      _,,,---,,_              pechtcha@cs.nyu.edu
> > >ZZZzz /,`.-'`'    -.  ;-;;,_           igor@watson.ibm.com
> > >      |,4-  ) )-,_. ,\ (  `'-'         Igor Pechtchanski
> > >     '---''(_/--'  `-'\_) fL   a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!
> > >
> > >Oh, boy, virtual memory! Now I'm gonna make myself a really *big* 
>RAMdisk!
> > >   -- /usr/games/fortune
> > >
> >
> >
> > _________________________________________________________________
> > MSN 8 with e-mail virus protection service: 2 months FREE*
> > http://join.msn.com/?page=features/virus
> >
> >
> > --
> > Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
> > Bug reporting:         http://cygwin.com/bugs.html
> > Documentation:         http://cygwin.com/docs.html
> > FAQ:                   http://cygwin.com/faq/
> >
> >
>
>--
>				http://cs.nyu.edu/~pechtcha/
>       |\      _,,,---,,_		pechtcha@cs.nyu.edu
>ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
>      |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski
>     '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!
>
>Oh, boy, virtual memory! Now I'm gonna make myself a really *big* RAMdisk!
>   -- /usr/games/fortune
>


_________________________________________________________________
STOP MORE SPAM with the new MSN 8 and get 2 months FREE* 
http://join.msn.com/?page=features/junkmail


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list