25 Ağustos 2014 Pazartesi

Makefile Kullanma

Makefile
Projeyi yarattıktan sonra Eclipse tabanlı WorkBench'i kullanılabileceği gibi, istenirse komut satırından make yapabilmek te mümkün.

makefile kullanabilmek için workbench'in kurulduğu dizindeki wrenv komutunu çalıştırmak gerekir. Bu komut Windows ve Unix için farklı dosyalar. Bu komut ile kabuktaki (shell) ortam değişkenleri (environment variables) atanıyor. Böylece mutlak dizinleri make dosyasında kullanmak zorunda kalmayız.
Atanan değişkenler şunlar
set PATH=
set WIND_PREFERRED_PACKAGES=
set WIND_HOME=
set WIND_HOST_TYPE=
set WIND_GNU_PATH=
set WIND_TOOLCHAINS=
set WIND_DOCS=
set WIND_TOOLS=
set FLEXLM_NO_CKOUT_INSTALL_LIC=
set LD_LIBRARY_PATH=
set WRSD_LICENSE_FILE=
set WIND_DFW_PATH=
set WIND_JRE_HOME=
set WIND_WRUB_PATH=
set WIND_WRSV_PATH=
set WIND_SAMPLES=
set WIND_USERMODE_AGENT=
set WIND_EXTENSIONS=
set WIND_SCOPE_TOOLS_BASE=
set WIND_RSS_CHANNEL=
set WIND_INSTALLER_HOME=
set WIND_WB_SCRIPTS=
set WIND_ANALYSIS_TARGET_SCRIPT_BASE=
set WIND_INITRO=
set WIND_FOUNDATION_PATH=
set WIND_UTILITIES=
set WIND_TCL_PATH=
set WIND_TCLLIBPATH=
set INCLUDE=
set LIB=

Örnek kullanım şekli.
wrenv -p vxworks653.x.y.z
wrenv komutu kendi shell'ini çalıştırıyor. Eğer sadece ortam değişkenlerini almak ve yeni bir shell açmadan kullanmak istersek aşağıdaki komut ile wrenv'in atadığı değişkenleri başka bir dosyaya almak mümkün.
wrenv -p vxworks653-2.3.0.1 -o print_env -f bat > env.bat
Sadece değişkenleri görmek için ise
wrenv -p vxworks653-2.3.0.1 -o print_env 
komutu çalıştırılmalı.

make dosyamıza VxWorks kurulumunda gelen Makefile.vars dosyasınıa dahil etmek gerekli. Bu dosya işlemci mimarisini tanımlıyor. Örneğin PPC604 gibi. Seçilen işlemciye göre projeyi derlerken kullanılacak işlemci ve ortama mahsus ayarları içeren diğer dosyalar dahil ediliyor. Yukarıdaki örnek için Makefile.vars.PPC604 dahil edilir. Makefile.vars.PPC604 dosyasında TOOLARCH = ppc olarak tanımlı. Dolayısıyla CC = ccppc değerini alır.

Derleyiciler kurulumda gnu\x.y.z-vxworks653\x86-win32\bin dizininde. İşlemciye göre derleyiciler mevcut. PowerPC için ccppc.exe, c++ppc.exe, cppppx.exe, g++ppc.exe gibi derleyiciler mevcut. Aralarındaki farkı bilmiyorum ancak makefile yukarıda da anlattığım gibi ccppc.exe'yi kullanıyor. ccppc "GNU C Compiler for PowerPC" imiş. ccppc.exe Wind River firması tarafından değiştirilmiş gcc tabanlı bir derleyici. Normal gcc sürümünü oldukça gerilden takip ediyor. Örneğin gcc sürümü 4.8 iken, firma 3.3.2 tabanlı bir derleyici sunuyor. Dosya uzantısı .c veya .cpp olmayan ya da tanıyamadığı dosyalar içinse g++ppc'yi kullanmaya çalışıyor. (Bu cümleyi daha sonra açıkla)

Hiç yorum yok:

Yorum Gönder