Salı, Mayıs 17, 2005

symbian helloworld makefile sdk2.1

en cok sıkıntı çektiğim konu internette makefile bulmaktı, bu yüzden örneklerin
makefile'ini yazdıkça yayınlıyacağım:
(daha elimde birikmiş çok örnek var, yavaş yavaş koyucam hepsini)

Helloworld örneği için Makefile:
!Derlemeye başlamadan önce
kodu fixrsc.pl'den geçirmiş olmanız,
satırlarını "helloworld.rsg" olarak değiştirmeniz gerekiyor
helloworld.mbm'ini dizinde oluşturmanız,
------------------------------------------------------------------------------------------

EPOC=/data/symbian/symbian_sdk_series60_21
PATH=$(EPOC)/bin:/local/bin:/usr/bin:/bin


include $(EPOC)/lib/makerules/eikon

INCLUDE= -I$(EPOC)/include \
-I$(EPOC)/include/techview

LIBS= $(EPOCTRGREL)/euser.lib \
$(EPOCTRGREL)/apparc.lib \
$(EPOCTRGREL)/eikcore.lib \
$(EPOCTRGREL)/cone.lib \

NAME=helloworld
ARCH=series60
MODULES=helloworld_main helloworld_application helloworld_document helloworld_appui helloworld_appview
MAJOR=1
MINOR=0

SRC=$(MODULES:%=%.cpp)
OBJECTS=$(MODULES:%=%.o)
TARGET=$(NAME).app
PKGVERS=$(MAJOR),$(MINOR)
MAKEDEPEND=/usr/X11R6/bin/makedepend

PKGFILES=$(NAME).rsc $(NAME).app $(NAME).aif

U1 = 1000007a
U2 = 100039ce
U3 = 10008ACE

CFLAGS = -O -Wall $(INCLUDE) -DUID3=0x$(U3) -D_SERIES60
# Following is used for the resource file
CPPFLAGS += -D_SERIES60

all:$(PKGFILES) $(NAME).sis
mv $(NAME).sis $(NAME)-$(MAJOR).$(MINOR)-$(ARCH).sis

$(TARGET):$(OBJECTS)

$(NAME).aifspec:
@echo "mbmfile=$(NAME).mbm" > $(NAME).aifspec
@echo "ELangEnglish=$(NAME)" >> $(NAME).aifspec

sound.o: $(NAME).rsc

clean:
rm -f $(GENERATED) $(NAME).aifspec

cleandir:
rm -f *.o
rm -f *~
rm -f *.rsc
rm -f *.rsg
rm -f *.ex*
rm -f *.aif*
rm -f *.pkg
rm -f *.app
rm -f *.sis

distclean:clean
rm -f *.orig *~ *.BAK *.bak makefile.new
rm -f config/resource.xml config/resource.h
sed -n '1,/^# DO NOT DELETE/ p' Makefile.series60 > makefile.new
mv makefile.new Makefile.series60

ccopy:$(NAME).app
:> /mnt/psion/C:/debug
cp $(NAME).app /mnt/psion/C:/System/Apps/$(NAME)

depend:
$(MAKEDEPEND) -f Makefile.series60 -Y$(EPOC)/include $(CFLAGS) $(SRC)



# DO NOT DELETE

€ý5:q!

yaşasın XML!

freemind demişken bu konuya da değinmeden geçemedim,
dosyalarını xml olarak kaydeden programlara bayılıyorum,
çünkü bir dosya uçtuğu zaman sizi çaresiz bırakmıyor,
bir editör yardımıyla sorunlu xml dosyasını düzenleyip sorunsuz bir şekilde açılmasını sağlayabiliyorsunuz,
yani artık bir kıvılcımla samanlığınız yanmıyor, hemen yangını kontrol altına alıyorsunuz,

küçük bir örnek:
freemind ile uğraşıp bir proje raporu hazırladım, resimli mesimli, oklu moklu,
sonra güzelce kaydettim.
dosyayı açtığımda ise resimlerim ve ilişkilendirmede kullandığım oklar yoktu.
"nasıl yani" dedim, hemen açtım XML'i, baktım ki bir karakter problemi var, "I" yerine "İ" yazmaya çalışıyor kaydederken, ve açma sırasında düzeltemiyor.
hemen "İ" leri "I" ile değiştirdim, tüm oklarım ve resimlerim yerine geldi.

büyük bir örnek:
http://www.fazlamesai.net/modules.php?name=News&file=article&sid=2832

yaşasın XML!

freemind

geçenlerde freemind'i keşfettim,
uzun zamandır eksikliğini hissettiğim bir program,
artık proje planlarımı freemind'ta tutuyorum, kod açıklamarını
freemindte tutuyorum, projeyle ilgili fikirleri freemind'ta tutuyorum,
uygulama kullanım kılavuzunu freemind'ta tutuyorum,
yani projeme dair ne var ise gayet anlaşılır ve açık bir şekilde
freemind'ta tek bir dosyada tutuyorum,
sunumlarımı bile freemind'ta hazırlamayı düşünüyorum,

yoksa siz hala freemind kullanmıyor musunuz?
artık google'da freemind diyince ilk sayfada çıkarım herhalde.

Pazar, Mayıs 01, 2005

sıcak sıcak - symbian

symbian'da birden fazla dil desteği vericekseniz eğer, resource (rss) dosyanızda menulerin ismini direkt yazmıyorsunuz. .loc uzantılı bir başka dosya yaratıp, burada

#define qtn_appl_play "Play"
ya da
#define qtn_appl_play "Çal"

.rss dosyasında da

MENU_ITEM { command = EVideoCmdAppPlay; txt = "Play"; },
yerine
MENU_ITEM { command = EVideoCmdAppPlay; txt = qtn_appl_play; },

diyorsunuz. tabi türkçe desteğini sağlamak için .loc dosyanızın başına

CHARACTER_SET UTF8

yazıyorsunuz. program geliştirirken kullandığınız editorun dil kodlaması da UTF-8 olmalı muhtemelen
unutmadan yazayım dedim!

ayrıntılı bilgi için:
http://www.newlc.com/article.php3?id_article=443