ווטסאפ - לינוקס, BSD, קוד פתוח ותוכנה חופשית בעברית. Whatsup - Linux, BSD, open source and free software in Hebrew

 
 
  כניסת חברים · רישום · שכחתי סיסמה  
tux the penguin
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
מנחם (לא מחובר)אורח · ·
 

הודעה פורסם: 23/09/2009 - 11:16
נושא ההודעה: איך קןראים רשימת קבצים חיצונית בmakefile?

שלום כולם,
אני רוצה להשתמש בתוצרים של הסקריפט שכתבנו כאן:
http://whatsup.org.il/index.php?name=PNphpBB2&file=viewtopic&t=51697
(רשימת קבצים עם סיומת c ו cpp), כקלט עבור משתנה SOURCES ב makefile.
יש לכם רעיון איך אני עושה את זה?

תודה!
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
poohלא בפורום כעת ת.הצטרפות: 16/02/2004 · הודעות: 809 ·
 

הודעה פורסם: 23/09/2009 - 12:49
נושא ההודעה: אתה יכול ליצא את הרשימה כמשתנה סביבה.

קוד:

export FILES_LIST=$(cat files.lst)
make

ואז בתוך MAKE:
קוד:

all:
for i in $(FILES_LIST); do \
echo $$i; \
done
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם Yahoo Messenger MSN Messenger מספר ICQ 
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
מנחם (לא מחובר)אורח · ·
 

הודעה פורסם: 23/09/2009 - 13:26
נושא ההודעה:

לצורך התרגול, יש לי קובץ makefile, שמכיל רק את הפקודות הבאות:
קוד:
IN_FILE:=`cat Apps\file.lst`
SOURCES:=""

all:
for file in $(IN_FILE); do \
   -@echo $${file} ; \
SOURCES=$(SOURCES)  $${file} \
done


אני מקבל הודעת שגיאה:
no rule to make target `all`
אם אני מוסיף:
קוד:
.PHONY:all

אני מקבל הודעת שגיאה:
ציטוט:
make: nothing to be done for
`all`


מה הטעות שלי?
תודה!
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
ik_5 לא מחובראורח · ·
 

הודעה פורסם: 23/09/2009 - 13:58
נושא ההודעה:

חסר לך tab. העניין הוא ש Makefile רגיש להזכות מבוססות tab.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
מנחם (לא מחובר)אורח · ·
 

הודעה פורסם: 23/09/2009 - 14:26
נושא ההודעה:

איפה בדיוק חסר לי הטאב? שמתי טאב לפי ה echo
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
צפריראורח · ·
 

הודעה פורסם: 23/09/2009 - 16:18
נושא ההודעה:

חסר tab לפני ה־for . כמוכן אי־אפשר לשנות ערך של משתנה make בתוך פקודה. לכן אתה מנסה להריץ בתוך הלולאה:
קוד:

SOURCES=    $file

וזו כמובן שגיאת תחביר.

באופן כללי, העובדה שאה משתמש ב־for שם מלמדת שאתה משתמש ב־Makefile סתם בתור סקריפט ולא משתמש כמו שצריך במטרות אוטומטיות.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
מנחם (לא מחובר)אורח · ·
 

הודעה פורסם: 23/09/2009 - 17:15
נושא ההודעה:

תודה על הטיפים!
אני עובד עם makefiles משהו כמו יומיים במצטבר, באי-פעם.. אני מניח שיש לי עוד הרבה דברים לא נכונים / חכמים לעשות..
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
הצגת הודעות מלפני:     
מעבר אל:  
כל הזמנים הם GMT + 2 שעות
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
PNphpBB2 © 2003-2004 

תוכן הדיון

  1. אורח [מנחם (לא מחובר)]
  2. pooh
  3. אורח [מנחם (לא מחובר)]
  4. אורח [ik_5 לא מחובר]
  5. אורח [מנחם (לא מחובר)]
  6. אורח [צפריר]
  7. אורח [מנחם (לא מחובר)]