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 12:55 | Nová verze

Byla vydána verze 17.12.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi. Aplikace, které nebyly dosud portovány na KDE Frameworks 5, byly z KDE Aplikací odstraněny.

Ladislav Hagara | Komentářů: 24
včera 03:00 | Komunita

Na Humble Bundle lze získat počítačovou hru Company of Heroes 2 (Wikipedie, YouTube) běžící také v Linuxu zdarma. Speciální akce končí v sobotu v 19:00.

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

Christian Kellner představil na svém blogu projekt Bolt řešící bezpečnost rozhraní Thunderbolt 3 na Linuxu. Pomocí příkazu boltctl nebo rozšíření GNOME Shellu lze komunikovat s démonem boltd a například zakázat neznámá zařízení a předejít tak útokům typu Thunderstrike nebo DMA.

Ladislav Hagara | Komentářů: 6
včera 01:00 | Nová verze

Po půl roce vývoje od vydání verze 11.0 byla vydána verze 11.1 svobodného softwaru pro vytváření datových úložišť na síti FreeNAS (Wikipedie). Nejnovější FreeNAS je postaven na FreeBSD 11.1. Přehled novinek v příspěvku na blogu. Zdůraznit lze zvýšení výkonu OpenZFS, počáteční podporu Dockeru nebo synchronizaci s cloudovými službami Amazon S3 (Simple Storage Services), Backblaze B2 Cloud, Google Cloud a Microsoft Azure

Ladislav Hagara | Komentářů: 0
14.12. 23:55 | Nová verze

Po dvou měsících vývoje od vydání verze 235 oznámil Lennart Poettering vydání verze 236 správce systému a služeb systemd (GitHub, NEWS).

Ladislav Hagara | Komentářů: 6
14.12. 20:00 | Nová verze Ladislav Hagara | Komentářů: 0
14.12. 19:33 | Pozvánky

Pražská Fedora 27 Release Party, oslava nedávného vydání Fedory 27, se uskuteční 19. prosince od 19:00 v prostorách společnosti Etnetera (Jankovcova 1037/49). Na programu budou přednášky o novinkách, diskuse, neřízený networking atd.

Ladislav Hagara | Komentářů: 0
14.12. 18:11 | Nová verze

Byla vydána verze 2.11.0 QEMU (Wikipedie). Přispělo 165 vývojářů. Provedeno bylo více než 2 000 commitů. Přehled úprav a nových vlastností v seznamu změn.

Ladislav Hagara | Komentářů: 0
14.12. 17:44 | Komunita

Canonical oznámil dostupnost kryptografických balíčků s certifikací FIPS 140-2 úrovně 1 pro Ubuntu 16.04 LTS pro předplatitele podpory Ubuntu Advantage Advanced. Certifikace FIPS (Federal Information Processing Standards) jsou vyžadovány (nejenom) vládními institucemi USA.

Ladislav Hagara | Komentářů: 3
14.12. 16:11 | Zajímavý software

Společnost Avast uvolnila zdrojové kódy svého dekompilátoru RetDec (Retargetable Decompiler) založeného na LLVM. Vyzkoušet lze RetDec jako webovou službu nebo plugin pro interaktivní disassembler IDA. Zdrojové kódy RetDec jsou k dispozici na GitHubu pod open source licencí MIT.

Ladislav Hagara | Komentářů: 3
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (8%)
 (1%)
 (1%)
 (1%)
 (76%)
 (14%)
Celkem 997 hlasů
 Komentářů: 45, poslední 1.12. 19:00
    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: 166×
    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.