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 13:44 | Komunita

    Bylo spuštěno hlasování o přednáškách a workshopech pro letošní Installfest, jenž proběhne o víkendu 28. a 29. března v Praze na Karlově náměstí 13.

    Ladislav Hagara | Komentářů: 2
    dnes 04:33 | Nová verze

    Byla vydána (Mastodon, 𝕏) třetí RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.

    Ladislav Hagara | Komentářů: 0
    včera 21:44 | IT novinky

    Apple představil iPhone 17e a iPad Air s čipem M4.

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

    Byla vydána verze 1.0 editoru kódů Gram. Jedná se o fork editoru Zed bez telemetrie a umělé inteligence.

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

    Byla oznámena spolupráce GrapheneOS s Motorolou. Podrobnosti v tiskové zprávě. GrapheneOS (Wikpedie) je varianta Androidu zaměřující se na bezpečnost a soukromí.

    Ladislav Hagara | Komentářů: 1
    včera 02:22 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.2.1. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    včera 02:11 | Komunita

    Volí se dvě místa v Radě openSUSE. Seznamte se se čtyřmi kandidáty. Členové projektu openSUSE mohou hlasovat od 1. do 8. března. Výsledky budou oznámeny 9. března.

    lkocman | Komentářů: 4
    1.3. 19:22 | IT novinky

    Společnost OpenAI uzavřela dohodu s americkým ministerstvem obrany o poskytování technologií umělé inteligence (AI) pro utajované sítě americké armády. Firma to oznámila několik hodin poté, co prezident Donald Trump nařídil vládě, aby přestala využívat služby společnosti Anthropic.

    Ladislav Hagara | Komentářů: 14
    1.3. 13:33 | IT novinky

    Technologická společnost Anthropic v noci na dnešek oznámila, že se obrátí na soud kvůli rozhodnutí ministerstva obrany označit ji za bezpečnostní riziko dodavatelského řetězce poté, co nevyhověla jeho požadavkům týkajícím se používání umělé inteligence (AI). Prezident Donald Trump krátce před tím uvedl, že nařídil federálním úřadům postupně ukončit využívání jejích AI technologií. Spor mezi firmou vyvíjející chatbot Claude a

    … více »
    Ladislav Hagara | Komentářů: 16
    28.2. 15:44 | Upozornění

    Zemřel Rob Grant, spolutvůrce kultovního sci-fi seriálu Červený trpaslík.

    Ladislav Hagara | Komentářů: 8
    Které desktopové prostředí na Linuxu používáte?
     (17%)
     (7%)
     (0%)
     (12%)
     (27%)
     (2%)
     (5%)
     (2%)
     (13%)
     (26%)
    Celkem 1000 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: Vnořené Makefiles

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

    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.