Skip to main content

A Cyg4Me question

3 replies [Last post]
javamobi
Offline
Joined: 2007-09-25
Points: 0

Hi all,
I wrote a small makefile, I listed statements below.

01: JTWI_JAVA_FILES=$(shell find \
02: $(JavaSpace)/src/classes -name '*.java' -print)
03:
04:compile:
05: @for j in $(JTWI_JAVA_FILES); do \
06: echo "$$j" >> $(BuildSpace)/.filelist; \
07: done
08: @$(JAVAC) -g:none -d $(TMP_CLASSES) \
09: -bootclasspath $(CLASSES_DIR) \
10: -classpath $(CLASSES_DIR) @$(BuildSpace)/.filelist

The MAKE process is crashed on line 06. The error message is
.....
<>
.....; do echo \"$j\"; done",
...) failed.
make (e=87): parameter error.
make: *** [classes.zip] Error 87

The total of files in $(JTWI_JAVA_FILES), I think it exceeds more 500 files.
Once, I removed lots of files under $(JavaSpace)/src/classes, the MAKE process is okay. Why? Does $(JTWI_JAVA_FILES) not handle the large buffer?

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
danila
Offline
Joined: 2006-09-25
Points: 0

Hi javamobi,

check "Managing Projects with GNU Make" by Robert Mecklenburg
http://books.google.com/books?id=rL4GthWj9kcC

page 100, Command-line limits

javamobi
Offline
Joined: 2007-09-25
Points: 0

Hi danila,

Thanks your reply.
I checked the book, In WinXP platform, only has 32K buffers.
Does any solution to avoid it? maybe i need to make the file path short!!

danila
Offline
Joined: 2006-09-25
Points: 0

Later in this section, some workarounds for the problem are described.
Try if any of them helps.