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í
×
    dnes 10:55 | Nová verze

    Programovací jazyk Racket (Wikipedie), tj. jazyk z rodiny jazyků Lisp a potomek jazyka Scheme, byl vydán v nové major verzi 9.0. Hlavní novinku jsou paralelní vlákna (Parallel Threads).

    Ladislav Hagara | Komentářů: 0
    dnes 10:11 | Komunita

    Před šesti týdny bylo oznámeno, že Qualcomm kupuje Arduino. Minulý týden byly na stránkách Arduina aktualizovány podmínky používání a zásady ochrany osobních údajů. Objevily se obavy, že by otevřená povaha Arduina mohla být ohrožena. Arduino ubezpečuje, že se nic nemění a například omezení reverzního inženýrství v podmínkách používání se týká pouze SaaS cloudové aplikace.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Bezpečnostní upozornění

    Knihovna libpng, tj. oficiální referenční knihovna grafického formátu PNG (Portable Network Graphics), byla vydána ve verzi 1.6.51. Opraveny jsou 4 bezpečnostní chyby obsaženy ve verzích 1.6.0 (vydána 14. února 2013) až 1.6.50. Nejvážnější z chyb CVE-2025-65018 může vést ke spuštění libovolného kódu.

    Ladislav Hagara | Komentářů: 4
    včera 12:22 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 159 (pdf).

    Ladislav Hagara | Komentářů: 0
    21.11. 22:33 | Zajímavý software

    Hru Warhammer: Vermintide 2 (ProtonDB) lze na Steamu získat zdarma napořád, když aktivaci provedete do pondělí 24. listopadu.

    Ladislav Hagara | Komentářů: 1
    21.11. 19:33 | Nová verze Ladislav Hagara | Komentářů: 0
    21.11. 13:11 | IT novinky

    Evropská komise schválila český plán na poskytnutí státní pomoci v objemu 450 milionů eur (téměř 11 miliard Kč) na rozšíření výroby amerického producenta polovodičů onsemi v Rožnově pod Radhoštěm. Komise o tom informovala v dnešní tiskové zprávě. Společnost onsemi by podle ní do nového závodu v Rožnově pod Radhoštěm měla investovat 1,64 miliardy eur (téměř 40 miliard Kč).

    Ladislav Hagara | Komentářů: 18
    21.11. 06:11 | Komunita

    Microsoft v příspěvku na svém blogu věnovaném open source oznámil, že textové adventury Zork I, Zork II a Zork III (Wikipedie) jsou oficiálně open source pod licencí MIT.

    Ladislav Hagara | Komentářů: 0
    21.11. 05:55 | Komunita

    První prosincový týden proběhne SUSE Hack Week 25. Zaměstnanci SUSE mohou věnovat svůj pracovní čas libovolným open source projektům, například přidání AI agenta do Bugzilly, implementaci SSH v programovacím jazyce Zig nebo portaci klasických her na Linux. Připojit se může kdokoli.

    Ladislav Hagara | Komentářů: 4
    20.11. 22:00 | IT novinky

    Google oznámil, že Quick Share na Androidu funguje s AirDropem na iOS. Zatím na telefonech Pixel 10. Uživatelé tak mohou snadno přenášet soubory z telefonů s Androidem na iPhony a obráceně.

    Ladislav Hagara | Komentářů: 2
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (46%)
     (19%)
     (18%)
     (22%)
     (15%)
     (23%)
     (16%)
     (17%)
    Celkem 392 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Dotaz: Vnořené Makefiles

    29.4.2009 21:36 Cunha
    Vnořené Makefiles
    Přečteno: 328×

    Zdravím,

    mám následující strukturu adresářů:

    a/

    a/amd/

    a/distrib/

     

    V a/ mám Makefile:

    vpath %.c ..
    vpath %.h ..
    vpath %.y ..
    ...
    CFLAGS=-g -O0 -Wall -Werror -fPIC -DPIC -DNET_NO_IO -DNET_NO_LOG -fno-stack-protector
    LDFLAGS=-lpthread

    ...


    LIBSA +=./distrib/libdist.a
    ...

    all: distr ...

    ...
    distr:
         make -C distrib all   
    ...

    z ktereho includuju (pravidlo distr) Makefile z a/distrib:

    MKDIR=mkdir
    CP=cp
    CCADMIN=CCadmin
    RANLIB=ranlib
    OBJ=net.o msg.o
    HEAD=main.h

    NAME = project
    CFLAGS=-g -O0 -Wall -Wall -fPIC -fno-stack-protector
    LDFLAGS=-lpthread
    OPT=-Wall -pedantic -pthread
    CC=gcc

    # build
    build: $(NAME)

    $(NAME): ${OBJ}
        ar cru libdist.a net.o msg.o
        ranlib libdist.a

    ${OBJ}:${HEAD}

    %.o : %.c
        gcc $(CFLAGS) -c $<

    # clean
    clean:
        rm -rf *.o libdist.a

    # all
    all: project

    Pokud zadám 'make' v a/, pak se mi to zkompiluje v pořádku. Ale v adresáři a/amd/ je Makefile:

    include ../Makefile

    Pokud zadám make v tomto podadresáři, vypíše mi to:

    make -C distrib all   
    make: *** distrib: No such file or directory.  Stop.
    make: *** [distr] Error 2

    Vím, že by to mělo být něco s VPATH, ale nevím jak na to. Zkoušel jsem něco vygooglit, ale nezabralo nic. Díky

    Odpovědi

    30.4.2009 02:50 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
    Rozbalit Rozbalit vše Re: Vnořené Makefiles
    Příkaz make -C distrib all se bude chovat podobně jako cd distrib; make all; cd -, a pokud v adresáři amd není podadresář distrib, tak to nefunguje. Podle manuálu totiž parametr -C adresář říká, že před tím, než se načtou jakékoli soubory, přejde make do zadaného adresáře.
    30.4.2009 09:01 cunha
    Rozbalit Rozbalit vše Re: Vnořené Makefiles

    No, to tusim. Ale jak cestu k adresari pridat?

    Diky

    30.4.2009 10:30 #Tom | skóre: 32 | blog: Inspirace, aneb co jsem kde vyhrabal
    Rozbalit Rozbalit vše Re: Vnořené Makefiles
    Připadá mi to spíš jako chyba v návrhu struktury těch skriptů. Pokud v adresáři a/amd funguje make -f ../distrib/Makefile all, půjde to udělat třeba tak, že se v a/Makefile zavede nová proměnná BASE_PATH:
    ifndef BASE_PATH
    BASE_PATH = .
    endif
    
    Potom je třeba změnit pravidlo distr:
    distr:
         make -f $(BASE_PATH)/distrib/Makefile all 
    
    V a/amd/Makefile se potom na začátek přidá nahoru definice:
    BASE_PATH = ..
    
    30.4.2009 11:02 cunha
    Rozbalit Rozbalit vše Re: Vnořené Makefiles

    Díky

    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.