fpMake

fpMake היא מערכת בנייה, יצירת חבילות ופריסתם שכתובה בפסקל, אבל לא רק עבורה. הרעיון הוא ליצור מערכת בניה הגיונית ונוחה לעבודה, דבר שלדעתי ודעת אנשים נוספים אינו מתקיים עם gnu-Make.

הסיבה ליצירת עוד מערכת Make, היא בעצם דבר ראשון כי מערכות מבוססות פסקל דורשות קבצי Makefile פחות מסובכים מאשר תוכנות הכתובות בC או ++C, כך שכמות האנרגיה לא צריכה להיות זהה, וגם הדרישות של השפה שונה לגמרי.

למשל בפסקל אני מכניס לתוך הקוד שלי את ההוראות למהדר, בעוד שבשפות כמו C ו ++C, יש לנו את AutoConf עבור זה. למשל אני יכול בפסקל להגיד למהדר לאיזה ספרייה קישרתי את הקוד שלי, כלומר קוד X עושה binding לפונקציה Y שנמצאת בספרייה Z. אני יכול להגיד לו גם שהקוד שלי הוא בעצם ספרייה משותפת (או סטטית), והכל בקוד שלי, אני עדיין לא צריך הוראות מיוחדות מחוץ לקוד.

המעכת מחולקת ל2: fpMake ו fpPkg כאשר האחרונה, היא בעצם הספרייה שאחראית על יצירת החבילות עצמם, בעוד שfpMake כאמור אחראית על הבנייה.

אז איך בעצם עובדים עם מערכת הבניה ?

program fpmake;
uses fpmkunit;
 
Var
 P : TPackage;
 T : TTarget;
 
begin
  With Installer do
  begin:= AddPackage('my-nice-program');
    P.OSes := [win32,openbsd,netbsd,freebsd,darwin,linux];:= P.Targets.AddUnit('myunit');
    T.ResourceStrings := True;:= P.Targets.AddUnit('myprogram');
    T.Dependencies.Add('myunit');
    Run;
  end;
end.

כמו שאפשר לראות זה פשוט מידי. מה שקורה כאן, הוא שאנחנו נותנים הוראות איך ליצור חבילה לתוכנה שלנו, אשר קראנו לה my-nice-program שזו בעצם חבילה (תכנותית) שמאגדת בתוכה את כל המידע על התוכנה שלנו. אמרנו שהיא מסוגלת לעבוד עם מערכות ההפעלה win32, openbsd, netbsd וכו', אמרנו שהיא מכילה את הקבצים myunit וmyprogram. ואמרנו לה שאנחנו פשוט חייבים את myunit.

נשמור את המידע הזה לקובץ בשם fpmake.pp ונריץ את הפקודה:

$ fppkg build

ותהיה לנו חבילה שאפשר להתקין אותה לאחר מכן במערכת שנרצה.

אם נרצה לספק שם אחר, אז נריץ את הקוד בצורה הבאה:

$ fpc <mybuild_code>

כמובן שזהו רק קצה הקרחון של יכולות המערכת, אבל לרוב הדוגמה כאן תספיק לרובינו.

במידה ונרצה לנהל שרת לחבילות שלנו (כן גם לזה יש תמיכה), אפשר ליצור קובץ manifest בנושא.

לעוד קריאה אני ממלץ לכם לקרוא את הקישורים שסיפקתי בנושא.

מחשבה אחת על “fpMake

  1. פינגבק: גרסת 2.4.4 של FPC יצאה « לראות שונה

כתיבת תגובה

הזינו את פרטיכם בטופס, או לחצו על אחד מהאייקונים כדי להשתמש בחשבון קיים:

הלוגו של WordPress.com

אתה מגיב באמצעות חשבון WordPress.com שלך. לצאת מהמערכת / לשנות )

תמונת Twitter

אתה מגיב באמצעות חשבון Twitter שלך. לצאת מהמערכת / לשנות )

תמונת Facebook

אתה מגיב באמצעות חשבון Facebook שלך. לצאת מהמערכת / לשנות )

תמונת גוגל פלוס

אתה מגיב באמצעות חשבון Google+ שלך. לצאת מהמערכת / לשנות )

מתחבר ל-%s