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 23:22 | Bezpečnostní upozornění

    Byl odhalen supply chain attack na Notepad++: útočníci kompromitovali hosting Notepad++ a vybrané dotazy na aktualizace přesměrovávali na servery pod jejich kontrolou. Doporučuje se stáhnout instalátor a přeinstalovat.

    a1bert | Komentářů: 1
    včera 13:22 | Zajímavý projekt

    Francouzská veřejná správa má v rámci vládní iniciativy LaSuite Numérique ('Digitální sada') v plánu od roku 2027 přestat používat Microsoft Teams a Zoom a přejít na videokonferenční platformu Visio, hostovanou na vlastním hardwaru. Konkrétně se jedná o instance iniciativou vyvíjeného open-source nástroje LaSuite Meet, jehož centrální komponentou je LiveKit. Visio nebude dostupné pro veřejnost, nicméně LaSuite Meet je k dispozici pod licencí MIT.

    NUKE GAZA! 🎆 | Komentářů: 5
    včera 12:11 | IT novinky

    Eben Upton oznámil další zdražení počítačů Raspberry Pi: 2GB verze o 10 dolarů, 4GB verze o 15 dolarů, 8GB verze o 30 dolarů a 16GB verze o 60 dolarů. Kvůli růstu cen pamětí. Po dvou měsících od předchozího zdražení.

    Ladislav Hagara | Komentářů: 10
    včera 05:11 | Zajímavý software

    Shellbeats je terminálový hudební přehrávač pro Linux a macOS, který umožňuje vyhledávat a streamovat hudbu z YouTube, stahovat odtud skladby a spravovat lokální playlisty. Pro stahování dat z YouTube využívá yt-dlp, pro práci s audiostreamy mpv. Je napsán v jazyce C a distribuován pod licencí GPL-3.0, rezpozitář projektu je na GitHubu.

    NUKE GAZA! 🎆 | Komentářů: 6
    včera 03:22 | Nová verze

    Byla vydána nová verze 26.1.30 svobodného multiplatformního video editoru Shotcut (Wikipedie) postaveného nad multimediálním frameworkem MLT. S podporou hardwarového dekódování videa. Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    včera 03:00 | Nová verze

    LibrePCB, tj. svobodný multiplatformní softwarový nástroj pro návrh desek plošných spojů (PCB), byl po deseti měsících od vydání verze 1.3 vydán ve verzi 2.0.0. Přehled novinek v příspěvku na blogu a v aktualizované dokumentaci. Zdrojové kódy LibrePCB jsou k dispozici na GitHubu pod licencí GPLv3.

    Ladislav Hagara | Komentářů: 2
    1.2. 21:11 | Komunita

    Guido van Rossum, tvůrce programovacího jazyka Python, oslavil 70. narozeniny. Narodil se 31. ledna 1956 v nizozemském Haarlemu.

    Ladislav Hagara | Komentářů: 13
    1.2. 12:22 | Zajímavý software

    OpenClaw je open-source AI asistent pro vykonávaní různých úkolů, ovládaný uživatelem prostřednictvím běžných chatovacích aplikací jako jsou například WhatsApp, Telegram nebo Discord. Asistent podporuje jak různé cloudové modely, tak i lokální, nicméně doporučován je pouze proprietární model Claude Opus 4.5 od firmy Anthropic v placené variantě. GitHubová stránka projektu OpenClaw.

    NUKE GAZA! 🎆 | Komentářů: 4
    1.2. 03:00 | Komunita

    Projekt VideoLAN a multimediální přehrávač VLC (Wikipedie) dnes slaví 25 let. Vlastní, tenkrát ještě studentský projekt, začal již v roce 1996 na vysoké škole École Centrale Paris. V první únorový den roku 2001 ale škola oficiálně povolila přelicencování zdrojových kódů na GPL a tím pádem umožnila používání VLC mimo akademickou půdu.

    Ladislav Hagara | Komentářů: 3
    31.1. 18:11 | Humor

    Moltbook je sociální síť podobná Redditu, ovšem pouze pro agenty umělé inteligence - lidé se mohou účastnit pouze jako pozorovatelé. Agenti tam například rozebírají podivné chování lidí, hledají chyby své vlastní sociální sítě, případně spolu filozofují o existenciálních otázkách 🤖.

    NUKE GAZA! 🎆 | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (18%)
     (6%)
     (0%)
     (10%)
     (25%)
     (3%)
     (5%)
     (2%)
     (11%)
     (30%)
    Celkem 733 hlasů
     Komentářů: 24, poslední včera 21:31
    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: 210×
    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.