From 6f3dda75bdb41ca280180354b2e3607e8ef74229 Mon Sep 17 00:00:00 2001 From: ketmar Date: Sun, 23 Mar 2014 23:49:48 +0200 Subject: [PATCH] added some notes in russian (sorry, i cannot into proper translations) --- doc/ru/arg_notes.txt | 15 ++++ doc/ru/configure.txt | 198 ++++++++++++++++++++++++++++++++++++++++++ doc/ru/custom_rules_guide.txt | 182 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 395 insertions(+) create mode 100644 doc/ru/arg_notes.txt create mode 100644 doc/ru/configure.txt create mode 100644 doc/ru/custom_rules_guide.txt diff --git a/doc/ru/arg_notes.txt b/doc/ru/arg_notes.txt new file mode 100644 index 0000000..6b6cb11 --- /dev/null +++ b/doc/ru/arg_notes.txt @@ -0,0 +1,15 @@ +ÅÓÌÉ ×ÄÒÕÇ ÓÒÅÄÉ ×ÁÓ ÚÁÔÅÓÁÌÓÑ ÍÕÔÁÎÔ, ËÏÔÏÒÙÊ ÚÁÈÏÞÅÔ ÉÓÐÏÌØÚÏ×ÁÔØ +ËÁËÏÊ-ÌÉÂÏ jam, ÔÏ ÐÕÓÔØ ÚÁÐÏÍÎÉÔ: $(<) É $(>) -- ÜÔÏ ÔÏÞÎÏ ÎÁÏÂÏÒÏÔ. $(<) +-- ×ÙÈÏÄÎÏÊ ÆÁÊÌ, $(>) -- ×ÈÏÄÎÏÊ. É ÅÝ£: ÞÔÏÂÙ ÐÒÁ×ÉÌÁ ÒÁÂÏÔÁÌÉ ÞïÔËÏ É +ÄÅÒÚËÏ, ×ÙÈÏÄÎÏÊ ÆÁÊÌ ÎÁÄÏ ÕËÁÚÙ×ÁÔØ ÐÅÒ×ÙÍ ÐÁÒÁÍÅÔÒÏÍ ÐÒÁ×ÉÌÁ. ÄÁÖÅ ÅÓÌÉ +ÏÞÅÎØ ÈÏÞÅÔÓÑ ÓÄÅÌÁÔØ ÔÁË, ÞÔÏÂÙ <<ÂÙÌÏ ËÁË × make>>, ÐÏÍÅÎÑ× ÉÈ ÍÅÓÔÁÍÉ -- +ÎÅ ÓÔÏÉÔ. + +ÐÏÑÓÎÀ: ÅÓÌÉ × make ÍÙ ÐÉÛÅÍ ÎÅÞÔÏ ×ÒÏÄÅ $(CC) -c $< -o $@, ÔÏ jam'Ï×ÏÅ +ÄÅÊÓÔ×ÉÅ ÂÕÄÅÔ: $(CC) -c $(>) -o $(<). ÌÀÂÉÔÅÌÑÍ make ÍÏÖÅÔ ÐÏËÁÚÁÔØÓÑ +counterintuitive. ×ÁÒÉÁÎÔÁ ÒÅÛÅÎÉÑ ÔÒÉ: Á) ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ *jam; Â) +ÚÁÚÕÂÒÉÔØ; ×) ÐÏÎÑÔØ É ÐÒÉÎÑÔØ ÜÔÕ ÌÏÇÉËÕ (ÏÎÁ ÅÓÔØ). + +Á, ÎÅÔ, ÔÁËÉ ÞÅÔÙÒÅ: $(1) É $(2) -- ÓÉÎÏÎÉÍÙ ÄÌÑ $(<) É $(>). ÍÏÖÎÏ +ÉÓÐÏÌØÚÏ×ÁÔØ ÃÉÆÒÙ, ÅÓÌÉ ÓÅÒÄÃÅ É ÍÏÚÇ ÎÉËÁË ÎÅ ÈÏÔÑÔ ÓÍÉÒÉÔØÓÑ Ó +<<ÚÁÄÏÍÎÁÐÅÒ£ÄÎÏÊ ÌÏÇÉËÏÊ>>. diff --git a/doc/ru/configure.txt b/doc/ru/configure.txt new file mode 100644 index 0000000..ff4d8d1 --- /dev/null +++ b/doc/ru/configure.txt @@ -0,0 +1,198 @@ +×ÏÔ ÔÁË ×ÏÔ ×ÙÇÌÑÄÉÔ ÐÏÍÏÝØ ËÏÎÆÉÇÕÒÁ: +logjam% jam configure --help +configuring... +jam configure for package `k8logjam' supports: +common options: + --prefix=dir install prefix: [/usr/local] +package options: + --disable-sqlite don't use sqlite (default: enabled) + --disable-gtkhtml don't use GTKHTML (default: enabled) + --disable-gtkspell don't use GTKSpell (default: enabled) + --disable-svg don't use librsvg (default: enabled) + --disable-curl don't use libcurl (default: enabled) + --disable-dock disable dock icon (default: enabled) + --disable-timegm don't use timegm() (default: enabled) + + +Á ×ÏÔ ÜÔÏ -- ÓÁÍ ËÏÎÆÉÇÕÒ: +PROJECT_NAME = k8logjam ; + +-configure-enable-disable-vars- += + "sqlite" USE_SQLITE "auto" "don't use sqlite" + "gtkhtml" USE_GTKHTML "auto" "don't use GTKHTML" + "gtkspell" USE_GTKSPELL "auto" "don't use GTKSpell" + "svg" USE_RSVG "auto" "don't use librsvg" + "curl" USE_CURL "auto" "don't use libcurl" + "dock" USE_DOCK "tan" "disable dock icon" + "timegm" USE_TIMEGM "auto" "don't use timegm()" +; + + +rule -configure-test-timegm- { + return [ + -configure-test-compile-cc- "timegm()" : + "#include " + "#include " + "int main() {" + "struct tm _tm = { 0 };" + "_tm.tm_year = 2000;" + "_tm.tm_mon = 1;" + "_tm.tm_mday = 1;" + "timegm(&_tm);" + "return 0;" + "}" + ] ; +} + + +rule -configure- { + USE_CLI = ; + -configure-pkg-config-necessary- + "GLib" "glib-2.0 >= 2.30.0" + "GObject" "gobject-2.0 >= 2.30.0" + "LibXML2" "libxml-2.0 >= 2.9" + "GTK+2" "gtk+-2.0" + "X11" "x11" + ; + -configure-add-line- "DEFINES += HAVE_GTK HAVE_LIBXML ;" ; + + if $(USE_SQLITE) { -configure-pkg-config- "SQLite3" : "sqlite3" : "DEFINES += HAVE_SQLITE3 ;" ; } + if $(USE_GTKSPELL) { -configure-pkg-config- "GTKSpell" : "gtkspell-2.0" : "DEFINES += HAVE_GTKSPELL ;" ; } + if $(USE_GTKHTML) { -configure-pkg-config- "libgtkhtml3.30" : "libgtkhtml-3.30" : "DEFINES += HAVE_GTKHTML330 HAVE_GTKHTML ;" ; } + if $(USE_RSVG) { + if ! [-configure-pkg-config- "librsvg" : "librsvg-2.0 > 2.2.3" : "DEFINES += HAVE_LIBRSVG ;" ] { USE_RSVG = ; } else { USE_RSVG = "tan" ; } + } + -configure-add-line- "USE_RSVG =" $(USE_RSVG) ";" ; + + if $(USE_CURL) { + if ! [ -configure-pkg-config- "libcurl" : "libcurl >= 7.30" : "DEFINES += HAVE_CURL ;" ] { USE_CURL = ; } + } + + if ! $(USE_CURL) { + Echo "WARNING: libcurl wasn't found! using VERY LIMITED LibXML http code!" ; + } + + if $(USE_TIMEGM) = "auto" { + USE_TIMEGM = [ -configure-test-timegm- ] ; + } + -configure-add-line- "# timegm()" ; + if $(USE_TIMEGM) { + Echo "CFG: timegm() enabled" ; + -configure-add-line- "DEFINES += HAVE_TIMEGM ;" ; + } else { + Echo "CFG: timegm() disabled" ; + -configure-add-line- "# timegm() disabled" ; + } + + -configure-add-line- "# dock" ; + if $(USE_DOCK) { + Echo "CFG: dock icon enabled" ; + -configure-add-line- "DEFINES += USE_DOCK ;" ; + } else { + Echo "CFG: dock icon disabled" ; + -configure-add-line- "# dock disabled" ; + } +} + + +configure ; + + +Á ÅÝ£ k8jam ÓÒÁÚÕ ÚÎÁÅÔ, ÐÏÄ ËÁËÏÊ ÏÎ ÁÒÈÉÔÅËÔÕÒÏÊ ÚÁÐÕÝÅÎ. É ÒÁÓÐÁÒÚÅÎÙÊ +uname × ÐÅÒÅÍÅÎÎÙÅ ËÌÁÄ£Ô. É ×Ó£ ÜÔÏ × ÓÔÁ ÔÒÉÄÃÁÔÉ ËÉÌÏÂÁÊÔÁÈ ÏÄÎÏÇÏ +ÂÉÎÁÒÎÉËÁ, ÎÅ ÔÒÅÂÕÀÝÅÇÏ ÂÏÌØÛÅ ÎÉÞÅÇÏ (ÄÁÖÅ make). ÎÕ ÒÁÚ×Å ÏÎ ÎÅ ÌÁÐÏÞËÁ? + +Á ÄÌÑ ÓÂÏÒËÉ ÅÍÕ ÏÐÑÔØ ÖÅ ÎÅ ÎÁÄÏ ÎÉÞÅÇÏ, ËÒÏÍÅ sed É sort (ÎÕ, ÐÏÎÑÔÎÏ, ÎÅ +ÓÞÉÔÁÑ ËÏÍÐÉÌÑÔÏÒÁ c É libc). + +ÄÁ, ÃÅÌÉ install É uninstall ÏÎ ÔÏÖÅ ÕÍÅÅÔ. ×ÏÔ ÔÁË, ÎÁÐÒÉÍÅÒ: +InstallBin bin : jam ; + +if $(INSTALL_DOCS) { + InstallFile share/doc/$(VERSION) : + $(TOP)/doc/ChangeLog + $(TOP)/doc/CHANGES.FTJAM + $(TOP)/doc/INSTALL + $(TOP)/doc/Jambase.html + $(TOP)/doc/Jamfile.html + $(TOP)/doc/Jam.html + $(TOP)/doc/Porting + $(TOP)/doc/README + $(TOP)/doc/README.ORG + $(TOP)/doc/RELNOTES + $(TOP)/doc/README.k8jam + ; +} + +if $(INSTALL_BEER) { + InstallFile share/doc/$(VERSION)/beer : + $(TOP)/doc/beer/Jamfile.beer + $(TOP)/doc/beer/Jamfile.beer1 + ; +} + + +ÓÁÍÏ ÓÏÂÏÊ, × ÎÏÒÍÁÌØÎÏÊ ËÏÎÆÉÇÕÒÁÃÉÉ (ÚÁÇÏÔÏ×ËÉ ÄÌÑ ËÏÔÏÒÏÊ ÌÅÇËÏ ÓÏÚÄÁÀÔÓÑ +ÐÒÉ ÐÏÍÏÝÉ ËÏÍÁÎÄÙ jam gen-boiler) ÏÎ ÎÅ ÚÁÓÉÒÁÅÔ ÐÒÏÅËÔ ÏÂßÅËÔÎÉËÁÍÉ É +ÂÉÂÌÉÏÔÅËÁÍÉ, Á ÎÅÖÎÏ ÓËÌÁÄÙ×ÁÅÔ ×Ó£ ÜÔÏ × _build/. ÅÓÔÅÓÔ×ÅÎÎÏ, ÉÍÅÅÔ +ÒÁÚÎÙÅ ÐÒÏÆÉÌÉ -- debug, speed, size ÔÁÍ, É ÎÅ ÐÕÔÁÅÔ ÉÈ ÏÂßÅËÔÎÉËÉ. É ÅÝ£ +ÏÞÅÎØ ÍÎÏÇÏ ÒÁÚÎÙÈ ×ËÕÓÎÙÈ ÇÉÔÉË ÕÍÅÅÔ. + +×ÏÔ, ÎÁÐÒÉÍÅÒ, ÏÓÎÏ×ÎÏÊ ÓÂÏÒÏÞÎÙÊ ÆÁÊÌ ÏÔ k8logjam: +SubDir TOP src ; + + +MAIN_SOURCES = [ Glob $(TOP)/src : "*.c" : names-only ] ; + +LIBLJ_SOURCES = [ Glob $(TOP)/src/liblj : "*.c" : names-only] ; +LIBLJ_SOURCES = liblj/$(LIBLJ_SOURCES) ; + + +Main logjam : $(LIBLJ_SOURCES) $(MAIN_SOURCES) ; + +if $(USE_RSVG) { + GenFile pixbufs.h : $(TOP)/tools/genimg_svg.sh ; +} else { + GenFile pixbufs.h : $(TOP)/tools/genimg_nosvg.sh ; +} + +ÔÕÔ ÍÙ ÎÁÂÌÀÄÁÅÍ ÌÅÎÉ×ÏÇÏ ëÜÔÍÁÒÁ, ËÏÔÏÒÙÊ ÚÁÍÅÓÔÏ ÐÅÒÅÞÉÓÌÅÎÉÑ ÉÓÈÏÄÎÉËÏ× +ÒÕËÁÍÉ ÈÅÒÁËÎÕÌ glob'Ù (ÇÌÏÂÙ, ËÓÔÁÔÉ, ÐÏÄÄÅÒÖÉ×ÁÀÔ É ÒÅÇÕÌÑÒËÉ). Á ÔÁËÖÅ +ÆÁÊÌ pixbufs.h, ËÏÔÏÒÏÇÏ × ÄÉÓÔÒÉÂÕÔÉ×Å ÎÅÔ, ÎÏ ËÏÔÏÒÙÊ ÉÎËÌÀÄÉÔÓÑ ÉÚ ÏÄÎÏÇÏ +ÓÉ-ÆÁÊÌÁ. k8jam'Õ È×ÁÔÁÅÔ ÍÏÚÇÏ× Õ×ÉÄÅÔØ, ÞÔÏ ÅÓÔØ ÔÁËÏÊ ÉÎËÌÀÄ, Á ÐÏÔÏÍ +ÚÁÍÅÔÉÔØ ÐÒÁ×ÉÌÏ, ËÏÔÏÒÙÍ ÜÔÏÔ ÉÎËÌÀÄ ÇÅÎÅÒÉÔÓÑ -- É ÓÇÅÎÅÒÉÔØ. ÐÏ 'jam +clean', ÎÁÔÕÒÁÌØÎÏ, ×Ó£ ÐÏÞÉÓÔÑÔ, É Á×ÔÏÓÇÅÎÅÒ£ÎÎÙÅ ÆÁÊÌÙ ÔÏÖÅ. + +ÓÁÍÏ ÓÏÂÏÊ, ËÁË ×ÉÄÎÏ ÉÚ SubDir -- k8jam ÏÔÌÉÞÎÏ ÓÐÒÁ×ÌÑÅÔÓÑ Ó ÐÒÏÅËÔÏÍ, +ÉÓÈÏÄÎÉËÉ ËÏÔÏÒÏÇÏ ÒÁÓËÉÄÁÎÙ ÐÏ ËÕÞÅ ËÁÔÁÌÏÇÏ×. É ÎÅ ÒÅËÕÒÓÉ×ÎÙÍÉ ×ÙÚÏ×ÁÍÉ +ÓÁÍÏÇÏ ÓÅÂÑ, Á ÎÏÒÍÁÌØÎÏ -- ÓÏÂÒÁ× ×ÓÅ ÎÕÖÎÙÅ ÉÎÓÔÒÕËÃÉÉ É ÐÏÓÔÒÏÉ× ÐÏÌÎÏÅ +ÄÅÒÅ×Ï ÚÁ×ÉÓÉÍÏÓÔÅÊ ÐÏ ×ÓÅÍ ËÁÔÁÌÏÇÁÍ. + +ËÏÎÅÞÎÏ, ÐÒÏÅËÔ ÍÏÖÅÔ ÓÏÓÔÏÑÔØ ÉÚ ÎÅÓËÏÌØËÉÈ ÂÉÎÁÒÅÊ. ÎÅËÏÔÏÒÙÅ ÂÉÎÁÒÉ ÍÏÇÕÔ +ÂÙÔØ ÐÒÉ×ÑÚÁÎÙ Ë ÏÔÄÅÌØÎÏÊ ÃÅÌÉ (test, ÎÁÐÒÉÍÅÒ), É ÓÏÂÉÒÁÔØÓÑ ÔÏÌØËÏ ÐÏ +ÏÓÏÂÏÊ ÐÒÏÓØÂÅ. + +ÓÁÍÏ ÓÏÂÏÊ, ×Ó£ ÔÏ ÖÅ ÓÁÍÏÅ ÍÏÖÎÏ ÓÄÅÌÁÔØ É Ó gmake, ÎÏ ÐÏÄÚÁÅ£ÛØÓÑ. ÉÌÉ Ó +cmake (É ÎÕÖÎÏ ÉÍÅÔØ ÕÓÔÁÎÏ×ÌÅÎÙÊ cmake). ÉÌÉ Ó Á×ÔÏËÒÁÐÏÍ. ÎÏ k8jam ÐÒÉ +ÖÅÌÁÎÉÉ ÍÏÖÎÏ ÐÒÉÔÁÝÉÔØ ×ÍÅÓÔÅ Ó ÐÒÏÅËÔÏÍ, ÏÎ ÎÅ ÔÁËÏÊ ÂÏÌØÛÏÊ: ~600 Ë +ÉÓÈÏÄÎÉËÏ×. ÄÁ ÎÕ, ×ÓÅÇÏ 600 Ë -- Á×ÔÏËÒÁÐÏ×ÓËÉÊ ËÏÎÆÉÇÕÒ ÞÁÓÔÏ ×ÅÓÉÔ +ÂÏÌØÛÅ! + +ËÏÎÅÞÎÏ, ÃÅÌØ install ÐÏÎÉÍÁÅÔ ÐÅÒÅÍÅÎÎÕÀ PREFIX (Á ÃÅÌØ configure -- +--prefix=...) É ÐÅÒÅÍÅÎÎÕÀ DESTDIR. + +ÅÄÉÎÓÔ×ÅÎÎÙÊ, ÐÏÖÁÌÕÊ, ÂÏÌØÛÏÊ ÎÅÄÏÓÔÁÔÏË k8jam -- ÐÅÒÉÏÄÉÞÅÓËÉ Ñ ÚÁÐÉÌÉ×ÁÀ +ÎÏ×ÙÅ ÆÉÞÉ É ÏÔÌÁÍÙ×ÁÀ ÓÔÁÒÙÅ. ÏÔÌÁÍÙ×ÁÀ ÎÅ ÔÁË ÞÁÓÔÏ, É ÏÂÙÞÎÏ ÐÉÛÕ Ï ÜÔÏÍ +× doc/ChangeLog, ÎÏ. ÔÁËÖÅ ÎÅ ×ÓÅ ÆÉÞÉ ÕÍÅÀÔ <<×Ó£-×Ó£-×Ó£ ÎÁ Ó×ÅÔÅ>>: +ÏÂÙÞÎÏ Ñ ÏÇÒÁÎÉÞÉ×ÁÀÓØ ÔÅÍ, ÞÔÏ ÐÏÎÁÄÏÂÉÌÏÓØ ÌÉÞÎÏ ÍÎÅ. + +ÔÅÍ ÎÅ ÍÅÎÅÅ, ÄÌÑ ÄÏÓÔÁÔÏÞÎÏ ÂÏÌØÛÏÇÏ ËÏÌÉÞÅÓÔ×Á ÐÒÏÅËÔÏ× k8jam ÍÏÖÅÔ Ó +ÕÓÐÅÈÏÍ ÚÁÍÅÎÉÔØ Á×ÔÏËÒÁÐ É ÃÍÁË. ÐÏÖÁÌÕÊ, ÔÏÌØËÏ ÅÓÌÉ ÎÁÄÏ <>, ÃÍÁË ×ÙÉÇÒÁÅÔ. ÎÏ ÓËÁÖÉÔÅ, ÚÁÞÅÍ ÏÎÏ ÎÁÄÏ-ÔÏ? k8jam ÏÔÈÏÄÁÍÉ +ÓÂÏÒËÉ ÐÒÏÓÉÒÁÅÔÓÑ ÔÏÌØËÏ × .build/, ÐÕÔ£Í ÔÒÉ×ÉÁÌØÎÏÇÏ ÄÏÂÁ×ÌÅÎÉÑ +ÎÅÓËÏÌØËÉÈ ÓÔÒÏÞÅË ÍÏÖÅÔ ÓÏÂÉÒÁÔØ ÂÉÎÁÒÉ Ó ÒÁÚÎÙÍÉ ËÌÀÞÁÍÉ × ÒÁÚÎÙÅ +ËÁÔÁÌÏÇÉ. + +ËÓÔÁÔÉ, <<ÉÚ ËÏÒÏÐËÉ>> ÐÏÄÄÅÒÖÉ×ÁÅÔ ËÒÏÓÓ-ÓÂÏÒËÕ ÄÌÑ ×ÅÎÄÙ ÐÒÉ ÐÏÍÏÝÉ +ËÒÏÓÓ-ÍÉÎÇ×. × ÔÅÏÒÉÉ, ÏÎ É ÎÁ ×ÉÎÄÅ Ó MinGW ÒÁÂÏÔÁÅÔ, ÎÏ Ñ ÜÔÏ ÏÞÅÎØ ÄÁ×ÎÏ +ÎÅ ÐÒÏ×ÅÒÑÌ. diff --git a/doc/ru/custom_rules_guide.txt b/doc/ru/custom_rules_guide.txt new file mode 100644 index 0000000..8a64d85 --- /dev/null +++ b/doc/ru/custom_rules_guide.txt @@ -0,0 +1,182 @@ +ÕÞÉÍÓÑ ÐÉÓÁÔØ ÐÒÏÓÔÅÎØËÉÅ ÐÒÁ×ÉÌÁ ÄÌÑ k8jam +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +ÉÔÁË. ÉÓËÌÀÞÉÔÅÌØÎÏ ÄÌÑ ÉÌÌÀÓÔÒÁÃÉÉ ÎÁÍ ×ÄÒÕÇ ÐÏÎÁÄÏÂÉÌÏÓØ, ÞÔÏÂÙ ÐÒÉ ÓÂÏÒËÅ +ÓÏÆÔÉÎÙ ÓÂÏÒÝÉË ÄÌÑ ËÁÖÄÏÇÏ .cpp-ÆÁÊÌÁ ÐÒÏ×ÅÒÑÌ, ÅÓÔØ ÌÉ ÒÑÄÏÍ Ó ÎÉÍ ËÁÔÁÌÏÇ +ui/, Á × Î£Í .ui-ÆÁÊÌ, ÐÏÉÍÅÎÏ×ÁÎÙÊ ÁÎÁÌÏÇÉÞÎÏ .cpp. É ÅÓÌÉ ÅÓÔØ -- ÔÏ ÄÌÑ +ÜÔÏÇÏ .cpp ÄÏÌÖÅÎ ×ÙÚÙ×ÁÔØÓÑ uic ÉÚ ÓÏÓÔÁ×Á Qt, ËÏÔÏÒÙÊ ÇÅÎÅÒÉÒÕÅÔ +ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ .h, É ÓÅÊ .h ÞÅÒÅÚ ÏÂÙÞÎÙÊ #include "ui_name.h" ÉÎËÌÀÄÉÌÓÑ +ÏÒÉÇÉÎÁÌÏÍ (ÉÎËÌÀÄ, ÎÁÔÕÒÁÌØÎÏ, ÎÁÐÉÓÁÎ ÒÕËÁÍÉ × .cpp). + +ÎÁÔÕÒÁÌØÎÏ, ÐÏ ËÏÍÁÎÄÅ jam clean ÌÉÛÎÉÊ ÍÕÓÏÒ ÄÏÌÖÅÎ ÐÒÉÂÉÒÁÔØÓÑ. ÔÁËÖÅ jam +ÄÏÌÖÅÎ ÐÏÎÉÍÁÔØ, ÞÔÏ ÐÒÉ ÏÂÎÏ×ÌÅÎÉÉ .ui ÎÁÄÏ ÐÅÒÅÇÅÎÅÒÉÒÏ×ÁÔØ +ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ .h É ÐÅÒÅËÏÍÐÉÌÉÒÏ×ÁÔØ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÉÊ .cpp. + +ÐÏÓËÏÌØËÕ Õ ÎÁÓ ÔÁËÉ ÐÒÏÓÔÏÔÁ É ÐÒÉÍÅÒ, ÔÏ ÚÁÄÁÞÉ ÔÉÐÁ <<ÐÒÏÓËÁÎÉÒÏ×ÁÔØ +ÎÅÐÏÓÒÅÄÓÔ×ÅÎÎÏ ÉÓÈÏÄÎÉË É ÎÁÊÔÉ ÔÁÍ ×ÙÛÅÏÐÉÓÁÎÙÊ ÉÎËÌÀÄ, Á ÔÏÌØËÏ ÐÏÔÏÍ +ÉÓËÁÔØ .ui>> -- ÎÅ ÓÔÁ×ÉÔÓÑ. Ë ÔÏÍÕ ÖÅ ÎÁ ÄÁÎÎÏÍ ÜÔÁÐÅ k8jam ÜÔÏÇÏ É ÎÅ +ÍÏÖÅÔ (ÓÔÁÄÉÑ ÓËÁÎÉÒÏ×ÁÎÉÑ ÉÓÈÏÄÎÉËÏ× ÏÔÒÁÂÁÔÙ×ÁÅÔ ÔÏÇÄÁ, ËÏÇÄÁ ÄÏÂÁ×ÉÔØ +ÎÏ×ÕÀ ÚÁ×ÉÓÉÍÏÓÔØ ÕÖÅ ÎÅ ×ÙÊÄÅÔ -- ÜÔÏ TODO). + +ÔÁËÖÅ ÐÒÅÄÐÏÌÁÇÁÅÍ, ÞÔÏ ÏÓÎÏ×ÎÙÅ ÉÓÈÏÄÎÉËÉ ÐÒÏÅËÔÁ ÌÅÖÁÔ × src/, Á +<<ÂÏÊÌÅÒÙ>> ÄÌÑ ÎÉÈ ÓÄÅÌÁÎÙ ÐÒÉ ÐÏÍÏÝÉ jam gen-boiler (ÜÔÏ ÒÅÁÌØÎÏ ÕÄÏÂÎÏ, +ÐÒÉ ÜÔÏÍ ÐÒÏÍÅÖÕÔÏÞÎÙÊ ×ÙÈÌÏÐ ËÏÍÐÉÌÑÔÏÒÁ ÕÈÏÄÉÔ × ËÁÔÁÌÏÇ .zbuild/ É ×Ó£ +ÔÁËÏÅ). + +ËÁË ×ÙÇÌÑÄÉÔ ÐÒÏÓÔÏÊ Jamfile ÄÌÑ ÃÐÐ-ÐÒÏÅËÔÁ? ÐÒÉÍÅÒÎÏ ÔÁË: + +SubDir TOP src ; +C++Main test : test.cpp ; + +ÎÅ ÓÉÌØÎÏ ÍÕÄÒÓÔ×ÕÑ, ÄÅÌÁÅÍ ÎÏ×ÏÅ ÐÒÁ×ÉÌÏ MyMain -- ×ÍÅÓÔÏ C++Main. ÚÁÄÁÞÁ +ÜÔÏÇÏ ÐÒÁ×ÉÌÁ -- ÐÒÏÊÔÉÓØ ÐÏ ÓÐÉÓËÕ ÉÓÈÏÄÎÉËÏ×, ÄÏÂÁ×É× ÔÕÄÁ ÎÕÖÎÙÅ .ui, +ÐÏÔÏÍ ÐÅÒÅÄÁÔØ ÐÏÌÕÞÉ×ÛÅÅÓÑ ÓÔÁÎÄÁÒÔÎÏÍÕ C++Main. ÔÁËÖÅ ÎÁÄÏ ÐÏÑÓÎÉÔØ +k8jam'Õ, ÞÔÏ ÄÅÌÁÔØ Ó ÏÂÎÁÒÕÖÅÎÙÍÉ .ui. + +ÐÒÉÍÅÞÁÎÉÅ: ÏÞÅÎØ ÖÅÌÁÔÅÌØÎÏ ÐÒÅÄ×ÁÒÉÔÅÌØÎÏ ÏÚÎÁËÏÍÉÔØÓÑ Ó Jam.html. ÔÁÍ, +ËÏÎÅÞÎÏ, ÎÅ ×Ó£ ÐÒÁ×ÄÁ, ÎÏ ÏÞÅÎØ ÍÎÏÇÏÅ. + +ÎÁÞÎ£Í Ó ÉÓÈÏÄÎÉËÁ ÓÏ ×ÓÅÍÉ ÐÒÁ×ÉÌÁÍÉ, ÐÏÑÓÎÑÑ ÞÔÏ ×ÎÕÔÒÉ, Á ÞÔÏ ÐÏÔÏÍ. + +QT_DIR ?= /opt/qt48 ; +QT_UIC ?= $(QT_DIR)/bin/uic ; +# ÜÔÏ, ËÁË ÐÏÎÉÍÁÅÔÅ, ÐÒÏÓÔÏ ÄÌÑ ÕÄÏÂÓÔ×Á. ÐÕÓÔØ uic ÌÅÖÉÔ ÉÍÅÎÎÏ ÔÁÍ, ÍÎÅ ÔÁË ÈÏÞÅÔÓÑ. + + +# /MyMain exename : sources [ : exetarget ] ; +# ÜÔÏ ÎÏ×ÏÅ ÐÒÁ×ÉÌÏ MyMain: ÎÉÞÅÇÏ ÏÓÏÂÏ ÎÅÐÏÎÑÔÎÏÇÏ ÔÕÔ ÎÅÔ. +# ÍÏÖÅÔ ÚÁÉÎÔÅÒÅÓÏ×ÁÔØ ÔÒÅÔÉÊ ÐÁÒÁÍÅÔÒ -- 'exetarget' -- ÎÅ ÏÂÒÁÝÁÊÔÅ ×ÎÉÍÁÎÉÑ. +# ÐÒÏÓÔÏ ÐÒÉÍÉÔÅ ÎÁ ×ÅÒÕ, ÞÔÏ ÔÁË ÎÁÄÏ, ÐÏÔÏÍÕ ÞÔÏ ÄÌÑ ÎÁÛÅÇÏ ÐÒÉÍÅÒÁ ÜÔÏ ÎÅ ×ÁÖÎÏ. +# ÄÌÑ ÚÎÁËÏÍÙÈ Ó GNU Make ËÏÎÓÔÒÕËÃÉÉ ÔÉÐÁ $(var:D) ÍÏÇÕÔ ÐÏËÁÚÁÔØÓÑ ÚÎÁËÏÍÙÍÉ. +# ÄÁ, ÜÔÏ ×ÙÄÅÌÅÎÉÅ ×ÓÑËÉÈ ÐÏÌÅÚÎÙÈ ÞÁÓÔÅÊ -- ÐÕÔÉ, ÒÁÓÛÉÒÅÎÉÑ É ÐÒÏÞÅÇÏ. ÏÐÉÓÁÎÏ × +# Jam.html. ÔÁËÖÅ ÍÏÖÎÏ ÎÅ ÔÏÌØËÏ ×ÙÄÅÌÑÔØ ÞÁÓÔÉ, ÎÏ É ÚÁÍÅÎÑÔØ ÉÈ. ÏÞÅ×ÉÄÎÏ. +# ÎÅÐÏÎÑÔÎÁÑ ÛÔÕËÁ "!dont-link" ÎÉÖÅ -- ÜÔÏ ÔÁË ÎÁÚÙ×ÁÅÍÙÊ "ÁÔÔÒÉÂÕÔ" (ÆÉÞÁ k8jam). +# × ÄÁÎÎÏÍ ÓÌÕÞÁÅ ÏÚÎÁÞÁÅÔ, ÞÔÏ ÆÁÊÌ .o ÄÌÑ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÇÏ ÉÓÈÏÄÎÉËÁ × ÓÐÉÓÏË +# ÌÉÎËÏ×ËÉ ×ËÌÀÞÁÔØ ÎÅ ÎÁÄÏ. ÅÓÌÉ ÜÔÏÔ ÁÔÔÒÉÂÕÔ ÎÅ ÕËÁÚÁÔØ, ÔÏ ÆÁÊÌÙ test.cpp É ui/test.ui +# × ÉÔÏÇÅ ÐÏÐÁÄÕÔ × ÓÐÉÓÏË ÌÉÎËÏ×ËÉ ËÁË test.o É ui/test.o, ÞÔÏ ×ÒÑÄ ÌÉ ÏÂÒÁÄÕÅÔ ËÏÍÐÉÌÑÔÏÒ. +# ÍÏÖÎÏ, ËÏÎÅÞÎÏ, ÎÁÐÉÓÁÔØ Ó×ÏÉ ÐÒÁ×ÉÌÁ ÌÉÎËÏ×ËÉ, ËÏÔÏÒÙÅ ÏÔ ÜÔÏÇÏ ÚÁÝÉÔÑÔ -- ÎÏ ÚÁÞÅÍ, +# ÅÓÌÉ Õ ÎÁÓ ÅÓÔØ ÓÐÅÃÉÁÌØÎÏ ÄÌÑ ÔÁËÉÈ ÓÌÕÞÁÅ× ÐÒÉÄÕÍÁÎÙÊ ÍÎÏÊ ÁÔÔÒÉÂÕÔ? +rule MyMain { + local newlist = ; + for local fname in $(>) { + if $(fname:S) = ".ui" { + Exit "MyMain: don't add explicit .ui files!" ; + } else { + newlist += $(fname) ; + if ! $(fname:D) && $(fname:S) = ".cpp" && [ FileExists $(SUBDIR)/ui/$(fname:S=.ui) ] { + newlist += ui/$(fname:S=.ui) !dont-link ; + } + } + } + C++Main $(<) : $(newlist) : $(3) ; +} + + +# Á ×ÏÔ ÜÔÏ ÐÒÁ×ÉÌÏ ×ÙÚÙ×ÁÅÔÓÑ, ËÏÇÄÁ k8jam ÏÂÎÁÒÕÖÉ×ÁÅÔ × ÓÐÉÓËÅ ÆÁÊÌÏ× ÎÁ ËÏÍÐÉÌÑÃÉÀ +# ÆÁÊÌ Ó ÎÅÉÚ×ÅÓÔÎÙÍ ÒÁÓÛÉÒÅÎÉÅÍ. ÞÔÏ ÄÅÌÁÔØ ÓÏ ×ÓÑËÉÍÉ .c, .cpp, .S É ÔÙ ÐÙ -- ÏÎ ÚÎÁÅÔ, Á +# Ó ÏÓÔÁÌØÎÙÍÉ ÅÍÕ ÎÁÄÏ ÐÏÍÏÞØ. +# ÎÁÓ ÔÕÔ ÉÎÔÅÒÅÓÕÀÔ Ä×Á ÐÁÒÁÍÅÔÒÁ (ÈÏÔÑ ÎÁ ÄÅÌÅ ÉÈ ÔÒÉ, ÎÏ ÔÒÅÔÉÊ ÎÁÍ ÚÄÅÓØ ÎÁÆÉÇ ÎÅ ÕУÒÓÑ). +# ÐÅÒ×ÙÊ ÐÁÒÁÍÅÔÒ -- ÜÔÏ "×ÙÈÌÏÐÎÏÊ" .o (ÆÁËÔÉÞÅÓËÉ, ÅÇÏ ÉÍÑ ÐÏÌÕÞÁÅÔÓÑ ÔÕÐÏÊ ÚÁÍÅÎÏÊ ÒÁÓÛÉÒÅÎÉÑ). +# ÎÕ, ÎÅ ÓÏ×ÓÅÍ ÔÁË, ×Ó£ ÓÌÏÖÎÅÊ -- ÎÏ ÚÄÅÓØ ÓÉÅ ÏÐÑÔØ ÎÅ ×ÁÖÎÏ, ÐÏÔÏÍÕ ÞÔÏ ×ÙÈÌÏÐ uic ÄÁ£Ô +# ÈÉÄÅÒ, ÄÌÑ ËÏÔÏÒÏÇÏ ÎÉËÁËÏÊ ÏÂßÅËÔÎÉË ÎÅ ÎÕÖÅÎ. +# ÄÌÑ ui/test.ui, Á×ÔÏÍÁÔÉÞÅÓËÉ ÄÏÂÁ×ÌÅÎÏÇÏ × MyMain, ÍÙ ÐÏÌÕÞÉÍ ÔÁËÉÅ ÐÁÒÁÍÅÔÒÙ: +# ui/test.o : ui/test.ui +# ÞÔÏ ÔÁËÏÅ grist -- ÐÒÏÞÉÔÁÔØ × Jam.html. ÜÔÏ ÔÁËÁÑ ÈÉÔÒÁÑ ÍÅÔËÁ, ÂÅÚ ËÏÔÏÒÏÊ ×Ó£ ÂÕÄÅÔ ÏÞÅÎØ ÐÌÏÈÏ. +# Å£ ÎÅ ÎÁÄÏ ÍÅÎÑÔØ, Å£ ÎÅÌØÚÑ ÔÅÒÑÔØ, Å£ ÎÁÄÏ ÐÒÉÛÐÁÎÄÏÒÉ×ÁÔØ ËÏ ×ÓÅÍ ÉÍÅÎÁÍ, ËÏÔÏÒÙÅ ÍÙ +# ÂÕÄÅÍ ÇÅÎÅÒÉÒÏ×ÁÔØ. × ÂÏÌØÛÉÎÓÔ×Å ÓÌÕÞÁÅ× ÜÔÉÈ ÐÒÁ×ÉÌ ÐÏ×ÅÄÅÎÉÑ ÄÏÓÔÁÔÏÞÎÏ. +rule -uoc-MyUserObjectHandler- obj : src { + switch $(src:S) { + case .ui : + # ÉÔÁË, ÕÒÁ! ÎÁÍ ÎÁ ×ÈÏÄ ÐÒÉÛ£Ì ÆÁÊÌ Ó ÒÁÓÛÉÒÅÎÉÅÍ .ui! + # ÓÌÅÄÕÀÝÁÑ ÓÔÒÁÛÎÁÑ ËÏÍÁÎÄÁ ÏÂßÑ×ÌÑÅÔ ÌÏËÁÌØÎÕÀ ÐÅÒÅÍÅÎÎÕÀ hdr + # É ÉÎÉÃÉÁÌÉÚÉÒÕÅÔ Å£ ÚÎÁÞÅÎÉÅÍ ui_test.h + # ÚÁÍÅÔØÔÅ, ÞÔÏ grist ÚÄÅÓØ ÏÂÒÅÚÁÅÔÓÑ, ÉÎÁÞÅ ÐÒÉ ÐÏÐÙÔËÅ ÓÏÂÒÁÔØ + # ÎÏ×ÏÅ ÉÍÑ ÍÙ ÐÏÌÕÞÉÍ ui_test.h, ÞÔÏ ËÁÔÅÇÏÒÉÞÅÓËÉ ÐÒÏÔÉ×ÏÐÏËÁÚÁÎÏ: + # grist ×ÓÅÇÄÁ ÄÏÌÖÅÎ ÂÙÔØ × ÎÁÞÁÌÅ ÓÔÒÏËÉ. + local hdr = ui_$(src:G=:D=:S=.h) ; + # Á ×ÏÔ ÔÕÔ ÍÙ ×ÅÒÎ£Í grist ÎÁ ÍÅÓÔÏ (ÐÏÍÎÉÔÅ? Ñ ×ÙÛÅ ÐÉÓÁÌ, ÞÔÏ ÅÇÏ ÎÅÌØÚÑ ÔÅÒÑÔØ) + # ÉÚ ui_test.h ÐÏÌÕÞÁÅÍ ui_test.h -- ÐÕÔ£Í ËÏÐÉÒÏ×ÁÎÉÑ grist ÉÚ ÏÒÉÇÉÎÁÌØÎÏÇÏ ÐÁÒÁÍÅÔÒÁ + hdr = $(hdr:G=$(src:G)) ; + # ÔÕÔ ÍÙ ÓÏÏÂÝÁÅÍ k8jam, ÞÔÏ ÄÌÑ ÇÅÎÅÒÁÃÉÉ ÆÁÊÌÁ ui_test.h ÉÚ test.ui + # ÎÁÄÏ ÐÏÚ×ÁÔØ ÐÒÁ×ÉÌÏ Uic (ÆÁËÔÉÞÅÓËÉ, ÉÍÅÎÎÏ ×ÙÚÙ×ÁÅÍ ÜÔÏ ÐÒÁ×ÉÌÏ). k8jam ÐÏÎÉÍÁÅÔ, ÞÔÏ + # ÐÒÉ ÔÁËÏÍ ×ÙÚÏ×Å ÉÚ ×ÔÏÒÏÇÏ ÐÁÒÁÍÅÔÒÁ ÐÏÌÕÞÁÅÔÓÑ ÐÅÒ×ÙÊ. + Uic $(hdr) : $(src) ; + # ÔÅÐÅÒØ ÐÒÏÐÉÛÅÍ, ËÔÏ ÏÔ ËÏÇÏ ÚÁ×ÉÓÉÔ. ÉÂÏ ÅÓÌÉ ÎÉËÔÏ ÏÔ ×ÙÈÌÏÐÁ ÐÒÁ×ÉÌÁ Uic ÎÅ ÚÁ×ÉÓÉÔ, ÔÏ + # k8jam É ÎÅ ÓÔÁÎÅÔ ÎÉÞÅÇÏ ÇÅÎÅÒÉÒÏ×ÁÔØ -- ÎÁÆÉÇÁ? ÉÔÁË: + # test.o Õ ÎÁÓ ÚÁ×ÉÓÉÔ ÏÔ ui/test.ui É ui_test.h + # ÚÁÍÅÔØÔÅ, ÞÔÏ ÔÕÔ ÍÙ ÐÒÅÄÐÏÌÁÇÁÅÍ, ÞÔÏ ÓÕÝÅÓÔ×ÕÅÔ ÆÁÊÌ test.cpp, ËÏÔÏÒÙÊ ËÏÍÐÉÌÉÒÕÅÔÓÑ × + # test.o -- ×ÏÔ ÎÁ ÜÔÏÔ test.o ÍÙ É ×ÅÛÁÅÍ ÚÁ×ÉÓÉÍÏÓÔØ. ÞÔÏ, × ÏÂÝÅÍ, ÌÏÇÉÞÎÏ. + # D= -- ÜÔÏ "ÏÂÒÅÚÁÔØ ÐÕÔØ" -- Ô.Å. ÐÏÌÕÞÉÔØ ÉÚ ui/test.o -- test.o + Depends $(obj:D=) : $(src) $(hdr) ; + # ÎÏ ÏÔ ÞÅÇÏ ÖÅ ÚÁ×ÉÓÉÔ ui_test.h? ÏÎ ×ÅÄØ ÚÁ×ÉÓÉÔ ÏÔ ui/test.ui. ÜÔÏ ÎÁÄÏ, ÞÔÏÂÙ k8jam ÓÏÏÂÒÁÚÉÌ, + # ÞÔÏ ÐÒÉ ÉÚÍÅÎÅÎÉÉ ui/test.ui ÎÁÄÏ ÐÅÒÅÇÅÎÅÒÉÒÏ×ÁÔØ ui_test.h + Depends $(hdr) : $(src) ; + # ÐÏÓËÏÌØËÕ ui_test.h -- Á×ÔÏÇÅÎÅÒÉÒÕÅÍÙÊ ÆÁÊÌ, ÓÏÏÂÝÉÍ, ÞÔÏ ÐÏ ËÏÍÁÎÄÅ jam clean ÅÇÏ ÎÁÄÏ ÕÂÒÁÔØ: + Clean clean : $(hdr) ; + # ÆÉÎÁÌØÎÙÊ ÛÔÒÉÈ: ÐÏÓËÏÌØËÕ ÉÎËÌÀÄÉÍ ÍÙ ui_test.h ÂÅÚ ÕËÁÚÁÎÉÑ ÐÕÔÉ, Á ÇÅÎÅÒÉÒÏ×ÁÔØ ÅÇÏ ÂÕÄÅÍ + # × ÇÌÕÂÉÎÁÈ ËÁÔÁÌÏÇÁ .zbuild/, ÔÏ ÄÏÂÁ×ÉÍ ÜÔÉ ÇÌÕÂÉÎÙ Ë ËÏÍÓÔÒÏËÅ ×ÙÚÏ×Á ËÏÍÐÉÌÑÔÏÒÁ ÄÌÑ test.o. + # $(LOCATE_TARGET)/ui -- ÜÔÏ É ÅÓÔØ ÔÏÞÎÙÊ ÐÕÔØ Ë "ÇÌÕÂÉÎÁÍ". ËÁËÏÊ ÏÎ ÉÍÅÎÎÏ -- ÎÁÍ ÎÅÉÎÔÅÒÅÓÎÏ, + # ÜÔÏ ÚÁ×ÉÓÉÔ ÏÔ ÍÎÏÇÉÈ ÏÂÓÔÏÑÔÅÌØÓÔ×. ÚÁ ËÏÒÒÅËÔÎÏÓÔØÀ LOCATE_TARGET × ÄÁÎÎÏÍ ÓÌÕÞÁÅ k8jam + # ÐÒÏÓÌÅÄÉÔ ÓÁÍÏÓÔÏÑÔÅÌØÎÏ. + CCHDRS on $(obj:D=) += [ FIncludes $(LOCATE_TARGET)/ui ] ; + # ËÓÔÁÔÉ, ÍÏÖÎÏ ÚÁÍÅÔÉÔØ, ÞÔÏ ÍÙ ÎÉÇÄÅ ÎÅ ÓËÁÚÁÌÉ ÎÁÐÒÑÍÕÀ, ÞÔÏ ËÁÔÁÌÏÇ $(LOCATE_TARGET)/ui + # ÎÅÐÌÏÈÏ ÂÙ ÓÏÚÄÁÔØ, ÅÓÌÉ ÅÇÏ ÎÅÔ. É ÎÅ ÎÁÄÏ: ÎÉÖÅ Õ×ÉÄÉÍ, ÐÏÞÅÍÕ. + # ×ÏÔ É ×Ó£, ÓÏÂÓÔ×ÅÎÎÏ + return 1 ; + } +} + + +# ÒÅÇÉÓÔÒÉÒÕÅÍ ÎÁÛÅ ÐÒÁ×ÉÌÏ × ÃÅÐÏÞËÅ ÏÂÒÁÂÏÔËÉ ÀÚÅÒÓËÉÈ ÏÂßÅËÔÏ×. +# ÔÁËÏÅ "ÎÅÕÄÏÂÏ×ÁÒÉÍÏÅ" ÉÍÑ ÍÙ ÄÁÌÉ ÅÍÕ ÓÐÅÃÉÁÌØÎÏ, ÞÔÏÂÙ ÂÏÌØÛÅ +# ÎÉËÁËÏÊ ÄÕÒÁË Ó×Ï£ ÐÒÁ×ÉÌÏ ÔÁË ÎÅ ÎÁÚ×ÁÌ. × ÉÄÅÁÌÅ -- ÉÓÐÏÌØÚÕÊÔÅ, +# ÎÁÐÒÉÍÅÒ, ×ÙÈÌÏÐ 'date +%s' ÄÌÑ ÇÅÎÅÒÁÃÉÉ ÂÏÌÅÅ-ÍÅÎÅÅ ÕÎÉËÁÌØÎÏÇÏ ÉÍÅÎÉ. +RegisterUserObjectRule -uoc-MyUserObjectHandler- ; + + +# Uic 'ui_test.h' : 'ui/test.ui' ; +# ÜÔÏ ÐÒÁ×ÉÌÏ ÍÙ ×ÙÚÙ×ÁÌÉ ×ÙÛÅ -- ÐÏÍÎÉÔÅ? ÏÎÏ ÏÞÅÎØ ÍÁÌÅÎØËÏÅ, É ×Ó£, ÞÔÏ ÎÁÍ ÔÕÔ +# ÎÁÄÏ ÓÄÅÌÁÔØ -- ÐÏÑÓÎÉÔØ k8jam, ËÕÄÁ ÖÅ ÄÏÌÖÅÎ ÐÏÐÁÓÔØ ×ÙÈÌÏÐ ui_test.h. +# MakeLocate ÓÌÕÖÉÔ ÉÍÅÎÎÏ ÄÌÑ ÔÁËÏÇÏ. ÄÏÐÏÌÎÉÔÅÌØÎÏ MakeLocate ÏÚÁÂÏÔÉÔÓÑ ÔÅÍ, +# ÞÔÏÂÙ k8jam ÐÒÅÄ×ÁÒÉÔÅÌØÎÏ ÓÏÚÄÁÌ ÎÕÖÎÙÅ ËÁÔÁÌÏÇÉ, É ÅÝ£ ×ÓÑËÏÊ ×ÎÕÔÒÅÎÎÅÊ ËÕÈÎÅÊ. +# ÎÁÍ ÐÏÆÉÇÕ, ÞÔÏ ÜÔÏ ÚÁ ËÕÈÎÑ, ÎÁÓ ÎÅ ËÏÌÙÛÅÔ. ÐÕÓÔØ ÌÏÛÁÄØ ÄÕÍÁÅÔ, Õ ÎÅ£ ÇÏÌÏ×Á ÂÏÌØÛÁÑ. +# ÚÁÍÅÞÕ, ÞÔÏ ÇÅÎÅÒÁÃÉÀ ÚÁ×ÉÓÉÍÏÓÔÅÊ (×ÙÚÏ× Depends) ÍÏÖÎÏ ÂÙÌÏ ÓÄÅÌÁÔØ É ÚÄÅÓØ: +# ÔÁË ÂÙÌÏ ÂÙ ÉÄÅÏÌÏÇÉÞÅÓËÉ ÐÒÁ×ÉÌØÎÅÊ. ÎÏ ÐÏ ÇÁÍÂÕÒÇÓËÏÍÕ ÓÞ£ÔÕ ÜÔÏ ÂÅÚ ÒÁÚÎÉÃÙ. +rule Uic { + MakeLocate $(<) : $(LOCATE_TARGET)/ui ; +} + +# Uic 'ui_test.h' : 'ui/test.ui' ; +# Á ×ÏÔ ÜÔÏ ÔÏ, ÒÁÄÉ ÞÅÇÏ Uic ÂÙÌÏ ×ÙÄÅÌÅÎÏ × ÏÔÄÅÌØÎÏÅ ÐÒÁ×ÉÌÏ. ËÁÖÄÏÍÕ ÐÒÁ×ÉÌÕ +# ÍÏÖÅÔ ÓÏÏÔ×ÅÔÓÔ×Ï×ÁÔØ ÎÁÂÏÒ ÄÅÊÓÔ×ÉÊ Ó ÔÁËÉÍ ÖÅ ÉÍÅÎÅÍ (ËÁË Õ ÐÒÁ×ÉÌÁ ÉÍÅÎÅÍ). +# ÅÓÌÉ ÄÅÊÓÔ×ÉÑ ÜÔÉ ÅÓÔØ, ÔÏ ÎÁ ÜÔÁÐÅ "×ÙÐÏÌÎÑÅÍ ÓÂÏÒËÕ" ÏÎÉ É ÂÕÄÕÔ ÉÓÐÏÌÎÅÎÙ. +# ×ÄÏÂÁ×ÏË, ÐÅÒÅÍÅÎÎÙÅ $(>) É $(<) ÔÕÔ ÕÖÅ ÂÅÚ ×ÓÑËÉÈ grist'Ï× É ÓÏ ×ÓÅÍÉ +# ÎÕÖÎÙÍÉ ÐÕÔÑÍÉ: Ï ÜÔÏÍ ÐÏÚÁÂÏÔÉÌÓÑ k8jam. +# ËÁË ×ÉÄÉÍ, ÄÅÊÓÔ×ÉÅ Õ ÎÁÓ ÐÒÏÓÔÏÅ: ÐÎÕÔØ uic. ÎÁ ÓÁÍÏÍ ÄÅÌÅ ÜÔÏ ÐÒÏÓÔÏ shell-ÓËÒÉÐÔ, +# k8jam ÔÏÌØËÏ ÐÏÚÁÍÅÎÑÅÔ Ó×ÏÉ ÐÅÒÅÍÅÎÎÙÅ ÐÅÒÅÄ ÔÅÍ, ËÁË ÓËÏÒÍÉÔØ ÓÉÅ shell'Õ. +actions Uic { + $(QT_UIC) $(>) -o $(<) +} + +×ÏÔ, ÐÒÉÍÅÒÎÏ, É ×Ó£. ÅÓÌÉ ×ÄÒÕÇ ËÔÏ-ÔÏ ÄÏÞÉÔÁÌ ÄÏ ÜÔÏÇÏ ÍÅÓÔÁ, É ÅÍÕ ÎÉÈÕÑ +ÎÅ ÐÏÎÑÔÎÏ -- ÜÔÏ ÎÏÒÍÁÌØÎÏ: Ñ ÓÁÍ ÐÏÌÏ×ÉÎÕ ÎÅ ÐÏÎÉÍÁÀ. ÄÁ É ÐÏÑÓÎÑÀ Ñ ËÁË +ÒÁÂÉÎÏ×ÉÞ ÐÏ£Ô. ÎÏ ÄÒÕÇÉÈ ÄÏËÕÍÅÎÔÁÃÉÊ Õ ÎÁÓ ÄÌÑ ×ÁÓ ÎÅÔ, ÅÛØÔÅ ÞÔÏ ÄÁÌÉ. + +ÞÔÏ ÍÙ ÐÏÌÕÞÉÌÉ × ÉÔÏÇÅ? × ÉÔÏÇÅ ÍÙ ÐÏÌÕÞÉÌÉ ÎÁÂÏÒ ÐÒÁ×ÉÌ ÄÌÑ ÇÅÎÅÒÁÃÉÉ +ÉÎÔÅÒÆÅÊÓÎÙÈ ÚÁÇÏÌÏ×ËÏ× ÐÒÉ ÐÏÍÏÝÉ uic, ËÏÔÏÒÙÊ ÍÏÖÎÏ ÔÕÐÏ ÚÁÉÎËÌÀÄÉÔØ × +ÐÒÏÅËÔ É ÄÁÌØÛÅ ÎÅ ÐÁÒÉÔØ ÓÅÂÅ ÍÏÚÇ: k8jam ÓÁÍ ÐÏÓÍÏÔÒÉÔ ÎÁ ÓÐÉÓÏË +ÉÓÈÏÄÎÉËÏ×, ÐÒÏ×ÅÒÉÔ ÎÁÌÉÞÉÅ ÄÌÑ ËÁÖÄÏÇÏ ÉÚ .cpp ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÇÏ +ui/*.ui-ÆÁÊÌÁ, ÐÒÏÐÉÛÅÔ ÎÕÖÎÙÅ ÚÁ×ÉÓÉÍÏÓÔÉ, ÐÏ ËÏÍÁÎÄÅ clean ×ÙÞÉÓÔÉÔ +ÎÁÇÅÎÅÒ£ÎÎÏÅ É ÓÄÅÌÁÅÔ ÍÉÎÅÔ. ÄÏÓÔÁÔÏÞÎÏ ÐÒÏÓÔÏ ×ÍÅÓÔÏ C++Main ÉÓÐÏÌØÚÏ×ÁÔØ +ÎÁÛ MyMain. + +ÄÁ, ÐÕÓÔÙÅ ËÁÔÁÌÏÇÉ ÓÂÏÒËÉ × .zbuild/ (É ÓÁÍ ÐÕÓÔÏÊ .zbuild/) k8jam ÎÅ +×ÙÞÉÝÁÅÔ -- ÐÏÔÏÍÕ ÞÔÏ ÍÎÅ ÄÏ ÓÉÈ ÐÏÒ ÌÅÎØ ÅÇÏ ÜÔÏÍÕ ÎÁÕÞÉÔØ. ÄÁ ÐÒÁ×Ï, ÏÎÏ +É ÎÅ ÎÁÄÏ. + +upd: ÄÏÂÁ×ÉÌ RegisterUserObjectRule, ÔÅÐÅÒØ ÐÒÁ×ÉÌÁ ÄÌÑ ÏÂÒÁÂÏÔËÉ ÀÚÅÒÓËÉÈ +ÔÉÐÏ× ÆÁÊÌÏ× ÍÏÖÎÏ ÓÏÅÄÉÎÑÔØ × ÃÅÐÏÞËÉ. ×ÍÅÓÔÏ ÔÕÐÏÇÏ ÐÅÒÅËÒÙÔÉÑ UserObject +ÐÉÛÅÍ ÐÒÁ×ÉÌÏ Ó ÏÔÆÏÎÁÒÎÙÍ ÉÍÅÎÅÍ É ÒÅÇÉÓÔÒÉÒÕÅÍ ÅÇÏ ÐÒÉ ÐÏÍÏÝÉ +RegisterUserObjectRule. ÐÒÁ×ÉÌÏ ÄÏÌÖÎÏ ÉÌÉ ×ÅÒÎÕÔØ ÎÅÐÕÓÔÕÀ ÓÔÒÏËÕ (ÜÔÏ +"ÉÓÔÉÎÁ"), ÅÓÌÉ ÏÂÒÁÂÏÔÁÌÏ ×ÈÏÄ, ÉÌÉ ÐÕÓÔÏÊ ÓÐÉÓÏË ("return ;"), ÅÓÌÉ ÎÅ +ÏÂÒÁÂÏÔÁÌÏ. ÓÁÍÏÅ ÐÏÓÌÅÄÎÅÅ ÄÏÂÁ×ÌÅÎÏÅ ÐÒÁ×ÉÌÏ ×ÙÚÏ×ÅÔÓÑ ÓÁÍÙÍ ÐÅÒ×ÙÍ. -- 2.11.4.GIT