abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 19:11 | Zajímavý projekt

    Vývojáři Ubuntu představili projekt Myna, tj. iniciativu zaměřenou na přidání funkce převodu řeči na text do prostředí desktopu Ubuntu. Dle plánu již v Ubuntu 26.10.

    Ladislav Hagara | Komentářů: 0
    včera 18:33 | Zajímavý software

    Společnost Epic Games představila nový open source systém pro správu verzí Lore navržený pro "bezprecedentní škálovatelnost dat i týmů a optimalizovaný pro projekty, včetně her a zábavy, které kombinují kód s velkými binárními soubory, aby uspokojil potřeby vývojářů i umělců". Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT.

    Ladislav Hagara | Komentářů: 0
    včera 15:33 | IT novinky

    Úřad pro ochranu hospodářské soutěže (ÚOHS) provedl v říjnu 2024 místní šetření u společnosti Seznam.cz. Úřad prověřoval důvodné podezření na možné protisoutěžní jednání, konkrétně zneužití dominantního postavení. Krajský soud v Brně v květnu 2025 konstatoval, že toto šetření bylo nezákonné. Nejvyšší správní soud (NSS) včera rozhodl, že šetření bylo provedeno v souladu se zákonem. Krajský soud bude muset případ posoudit znovu.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | IT novinky

    Byl představen skládací telefon Commodore Callback 8020. Ani hloupý, ani chytrý. Pro fanoušky Commodore a digitálního minimalismu. Bez webového prohlížeče a sociálních sítí. S předinstalovaným WhatsAppem. S operačním systémem Sailfish OS.

    Ladislav Hagara | Komentářů: 1
    včera 08:22 | Bezpečnostní upozornění

    V OpenBSD byla objevena 27 let stará chyba v ppp pomocí níž lze vzdáleně obejít autentifikaci. Chyba byla nahlášena 12.6. a 14.6. byla opravena. Bližší info v článku A 27-Year-Old Authentication Bypass in OpenBSD's PPP Stack.

    Max | Komentářů: 6
    včera 05:22 | Zajímavý článek

    Odpověď Evropské komise (pdf) k evropské občanské iniciativě Stop Destroying Videogames, jež je součástí hnutí Stop Killing Games: "Komise se domnívá, že v této fázi nemůže navrhnout právní povinnost zachovat hratelnost videoher poté, co přestaly být poskytovány komerčně. Důvodem jsou i stávající práva duševního vlastnictví. Podle autorského práva EU mají nositelé práv výlučná práva ke svým výtvorům. Kromě autorských práv mohou být

    … více »
    Ladislav Hagara | Komentářů: 10
    16.6. 16:11 | Nová verze

    Byl vydán Mozilla Firefox 152.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 152 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    16.6. 14:11 | Nová verze

    Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.7 (Mastodon). Přehled novinek i s videi a se snímky obrazovek v oficiálním oznámení. Podrobný přehled v seznamu změn.

    Ladislav Hagara | Komentářů: 23
    16.6. 11:44 | Komunita

    Hříčka xsnow, která na ploše spustí sněžení, je protestware. Pokud jste v Rusku (LANG=ru), zobrazuje ukrajinské vlajky.

    Ladislav Hagara | Komentářů: 40
    16.6. 11:11 | Nová verze

    UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala beta verzi Ubuntu Touch 24.04-2.0. Nová verze již počítá s výřezy pro fotoaparát (notch) a zaoblenými rohy displeje. Webový prohlížeče Morph přešel z Chromia 87 na Chromium 134. Do shellu Lomiri byl přidán editor snímků obrazovky.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (16%)
     (31%)
     (3%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1928 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: makefile - Jak předat na příkazovou řádku název proměnné?

    4.12.2006 16:50 Styryx | skóre: 3
    makefile - Jak předat na příkazovou řádku název proměnné?
    Přečteno: 223×
    Věděl by někdo z přítomných Linuxových programátorů, jak předám programu z makefile název proměnné?

    Např. pokud bych měl
    PROMENNA = HODNOTA_PROMENNE
    
    neco:
        echo Promenna $$(PROMENNA) ma hodnotu $(PROMENNA)
    aby mi vypsal
    Promenna $(PROMENNA) ma hodnotu HODNOTA_PROMENNE
    Ovšem takto mi to funguje pouze na Windows, nikoliv na Linuxu. Na linuxu se, jak se zdá, pokouší z mě neznámého důvodu zavolat příkazy (?) uvedené mezi $() - tj. make zřejmě předá správně
    Promenna $(PROMENNA) ma hodnotu HODNOTA_PROMENNE
    ovšem "kdosi" se patrně $(PROMENNA) pokouší ještě dereferencovat a výsledek make je:
    /bin/sh: PROMENNA: command not found
    Promenna  ma hodnotu HODNOTA_PROMENNE
    tj. chybový výpis a hlavně tam pak chybi $(PROMENNA). Ovšem pokud tam mám jenom $$ samotné, bez (PROMENNA), vypise to $ správně jak bych očekával.

    Co s tím? Potřebuji $(PROMENNA) předat dál a nikoliv spouštět jakýsi program...

    Odpovědi

    pdp7 avatar 4.12.2006 16:55 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
    Rozbalit Rozbalit vše Re: makefile - Jak předat na příkazovou řádku název proměnné?
    A proc davas do zavorek?
    pdp7 avatar 4.12.2006 16:57 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
    Rozbalit Rozbalit vše Re: makefile - Jak předat na příkazovou řádku název proměnné?
    PROMENA=hodnota

    echo $PROMENA
    4.12.2006 17:04 Styryx | skóre: 3
    Rozbalit Rozbalit vše Re: makefile - Jak předat na příkazovou řádku název proměnné?
    To byl zjednodušenej přiklad, konkrétně to potřebuju pro vytvoření dependencies příkazem
    somesrc.d: somesrc.cpp
        gcc -MM -MP -MF$@ -MT$$(DIR)/$*.$$(OBJ_SFX) $<
    aby soubor somesrc.d obsahoval
    $(DIR)/somesrc.$(OBJ_SFX): somesrc.cpp ...
    tj. aby proměnné v .dep souboru nebyly dereferencované (kvůli různým nastavením pro různé systémy).

    Jenže takto to nefunguje, vypíše mi to
    /bin/sh: DIR: command not found
    /bin/sh: OBJ_SFX: command not found
    a ve výsledném .d souboru je bohužel jenom
    /somesrc.: somesrc.cpp ...
    (tj. bez proměnných).
    pdp7 avatar 4.12.2006 17:09 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
    Rozbalit Rozbalit vše Re: makefile - Jak předat na příkazovou řádku název proměnné?
    Jo tak. Misto tech kulatych zavorek tam dej slozeny.
    pdp7 avatar 4.12.2006 17:12 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
    Rozbalit Rozbalit vše Re: makefile - Jak předat na příkazovou řádku název proměnné?
    Jinak o skriptovani vim skoro prd, takze sory jestli ti radim blbe. :-D
    4.12.2006 17:22 Styryx | skóre: 3
    Rozbalit Rozbalit vše Re: makefile - Jak předat na příkazovou řádku název proměnné?
    To taky nefachčí. Když tam dam složený nebo bez závorek, tak to sice nevypíše chybu, ale taky se to nahradí "prázdnem".

    Chjo, se mi to nechce dělat přes sed ale zřejmě to jinak nepude.
    pdp7 avatar 4.12.2006 18:01 pdp7 | skóre: 33 | blog: Mravenec_v_LCD_monitoru | Zákupy u České lípy
    Rozbalit Rozbalit vše Re: makefile - Jak předat na příkazovou řádku název proměnné?
    Promin vubec me neposlouchej! Nerid se mnou!! Plodim desny kraviny.
    5.12.2006 09:59 Styryx | skóre: 3
    Rozbalit Rozbalit vše Re: makefile - Jak předat na příkazovou řádku název proměnné?
    To je ok :-) dík alespoň za snahu.
    4.12.2006 19:45 Sinuhet | skóre: 31
    Rozbalit Rozbalit vše Re: makefile - Jak předat na příkazovou řádku název proměnné?
    No make $$ premeni na $, takze jeste byste to mel escapnout pro shell (slash, uvozovky). Mozna takhle
    somesrc.d: somesrc.cpp
        gcc -MM -MP -MF$@ -MT\$$(DIR)/$*.\$$(OBJ_SFX) $<
    
    5.12.2006 10:07 Styryx | skóre: 3
    Rozbalit Rozbalit vše Re: makefile - Jak předat na příkazovou řádku název proměnné?
    Jo, díky, navedl jste mě na správnou cestu. Baskslash ani uvozovky nefungujou, ale s apostrofy to jde
    gcc -MM -MP -MF$@ '-MT$$(DIR)/$*.\$$(OBJ_SFX)' $<
    našel jsem před chvílí nakonec někde na stránkách o /bin/sh že když je to v apostrofech tak se proměnný nevyhodnocujou :-).
    5.12.2006 10:58 podlesh | skóre: 38 | Freiburg im Breisgau
    Rozbalit Rozbalit vše Re: makefile - Jak předat na příkazovou řádku název proměnné?
    Pro úplnost bych doplnil základní vysvětlení příčiny problému: došlo k pomíchání resolvování proměnných make a shellu. Obě syntaxe jsou velmi podobné (začínají dolarem), ale ne stejné: zatímco v makefile se používají kulaté závorky, v shellu složené. Kulaté závorky v shellu spustí program, je to ekvivalentní použití zpětných apostrofů (backtick).

    Například tyto dva zápisy jsou (funkčně) ekvivalentní:
    echo `basename $PWD`
    echo $(basename $PWD)
    
    V původním makefile bylo správně zabráněno resolvování proměnné make (zdvojením dolaru), ale už nebylo zabráněno zpracování této konstrukce v shellu. Na windows to samozřejmě fungovalo, protože cmd.exe nic takového nemá.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.