Hi Paul, I am sorry, perhaps I was a little vague in my description - I'll
fill you in on some more detail but thanks a bunch for replying, I still
beleive it is a make error, unless I'm totally clueless but look at this first:
[contents of the dir]
C:\src\DEVELO~1\adserver\CUSTOM~1dir
Volume in drive C has no label.
Volume Serial Number is 5CBA-6369
Directory of C:\src\DEVELO~1\adserver\CUSTOM~1
02/07/2001 03:08p DIR .
02/07/2001 03:08p DIR ..
02/06/2001 06:51p 10,846 AdCampaignAds.java
02/06/2001 06:51p 8,347 AdCampaigns.java
02/06/2001 06:51p 7,583 AdClients.java
02/06/2001 06:51p 10,619 AdDist.java
02/06/2001 06:51p 41,806 adstats.java
02/06/2001 10:06p 6,334 adstatszone.properties
02/06/2001 06:51p 7,096 AdUsers.java
02/07/2001 03:08p 605 makefile
8 File(s) 93,236 bytes
2 Dir(s) 2,456,240,128 bytes free
C:\src\DEVELO~1\adserver\CUSTOM~1
[contents of makefile]
C:\src\DEVELO~1\adserver\CUSTOM~1type makefile
JSUFFIXES = .class .java
.SUFFIXES: $(JSUFFIXES) $(SUFFIXES)
.DONE:@echo ALLCLASSES is $(ALLCLASSES)
.FAILED:@echo ALLCLASSES is $(ALLCLASSES)
# Java language section.
JAVAC = javac
CLASSPATH = c:\apps\JSDK2.0\lib\jsdk.jar;c:\apps\javalibs\md5.jar
JFLAGS=-classpath $(CLASSPATH) -deprecation -g
COMPILE.java=$(JAVAC) $(JFLAGS)
.java.class:
$(COMPILE.java) $
ALLSOURCES=AdUsers.java\
AdCampaigns.java\
AdCampaignAds.java\
AdDist.java\
AdClients.java\
adstats.java
ALLCLASSES=$(ALLSOURCES:%java=%class)
all: $(ALLCLASSES)
@echo making all \'$(ALLCLASSES)\'
C:\src\DEVELO~1\adserver\CUSTOM~1
[make results]
C:\src\DEVELO~1\adserver\CUSTOM~1make
javac -classpath c:\apps\JSDK2.0\lib\jsdk.jar;c:\apps\javalibs\md5.jar
-deprecat
ion -g AdUsers.java
Usage: javac options source files
where options includes:
-g Generate all debugging info
-g:noneGenerate no debugging info
-g:{lines,vars,source} Generate only some debugging info
-O Optimize; may hinder debugging or enlarge class files
-nowarnGenerate no warnings
-verbose Output messages about what the compiler is doing
-deprecation Output source locations where deprecated APIs are
used
-classpath path Specify where to find user class files
-sourcepath path Specify where to find input source files
-bootclasspath path Override location of bootstrap class files
-extdirs dirsOverride location of installed extensions
-d directory Specify where to place generated class files
-encoding encoding Specify character encoding used by source files
-target release Generate class files for specific VM version
make.exe: *** [AdUsers.class] Error 2
C:\src\DEVELO~1\adserver\CUSTOM~1
Now, the same script on unix (solaris 2.6) where classpath jars/classes are
delimited with a colon (:) rather than a semicolon as in
Win2k/dos/winwhatever, it runs a-ok, with as many classpath jars as you
want it to. On Win2k, here, I get this dumb error, and I'm at a loss - am
I not DENOTING the lame ';' (semicolon) properly or does make break when it
sees it, that is, it thinks its something else, like end of a dependency or
some such rule?
When I run the IDENTICAL command by hand on the command prompt as you see
above (it's broken up because of the window size 80x25, otherwise the javac
line is one line when I run it from command prompt) it COMPILES a-ok, which
I forgot to mention in my previous email.
So, you dont think this is some bug? What am I missing? I was so frustrated
yesterday you have no idea... :/. Please help.
Thanks again, and I hope I was more clear this time.
Martin
At 12:34 AM 2/7/2001 -0500, Paul D. Smith wrote:
%% Martin Naskovski [EMAIL PROTECTED] writes:
mn CLASSPATH = c:\apps\JSDK2.0\lib\jsdk.jar;c:\apps\javalibs\MD5.jar
mn JFLAGS=-classpath $(CLASSPATH) -deprecation -g
mn COMPILE.java=$(JAVAC) $(JFLAGS)
mn .java.class:
mn @echo - $(HOSTNAME) javac $ ---
mn $(COMPILE.java) $
mn When I run make, it fails to interpret the semi-colong that
mn separates MD5.jar and jsdk.jar as a literal, and it thinks it's
mn some dependency or some other command and it fails to compile my
mn .java file properly. How do I get 'make' to treat the semi-colon
mn as a literal and not as some implicit rule? I looked all over the
mn documentation, and maybe I missed it- or maybe this is a bug.
You didn't provide any information on the error you got, but I'll bet
it's not a make error.
Make doesn't treat semicolons as special in any way in the places you've
used it above (the value of a variable or in the command script).
Make simply sends the text of the command you tell it to run to the
shell it's