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 01:33 | Pozvánky

    Prázdniny jsou v plném proudu a jeden by si skoro řekl, že už těch výletů a sluníčka je až příliš mnoho. Nezoufejte však, i proto je tu po měsíci opět Virtuální Batlírna. S projektem MacGyver studentského klubu SiliconHill si můžete v příjemném virtuálním prostředí videokonference Zoom popovídat o aktualitách v elektronice nebo o rozličných technických problémech. A to všechno bez rizika spálení na slunci či poštípání dotěrným hmyzem.

    … více »
    bkralik | Komentářů: 0
    včera 16:11 | Nová verze

    Po třinácti měsících od vydání verze R1/beta2 byla vydána verze R1/beta3 operačního systému Haiku (Wikipedie). Přehled novinek v poznámkách k vydání. Přispělo 87 vývojářů s 1 248 commity. Vyřešeno bylo více než 251 chyb a žádostí o vylepšení.

    Ladislav Hagara | Komentářů: 9
    včera 09:00 | Nová verze

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi 2021.07. Programovací jazyk Raku byl ještě nedávno znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 8
    včera 02:00 | IT novinky

    V únoru byl představen modulární notebook Framework Laptop, který je možné "libovolně" konfigurovat, upgradovat a opravovat. V květnu byl spuštěn jeho předprodej. První várka notebooků byla již odeslána. Publikovány jsou první nezávislé recenze. Viz například rozborka z sborka na YouTube kanálu iFixit.

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

    Projekt BLAKE3, tj. oficiální implementace kryptografické hašovací funkce BLAKE3 v programovacích jazycích Rust a C, dospěl do verze 1.0.0.

    Ladislav Hagara | Komentářů: 0
    25.7. 18:33 | Nová verze

    Populární open-source e-mailový klient pro Android K-9 Mail dostal po bezmála třech letech nové stabilní vydání 5.800 s přepracovaným uživatelským rozhraním.

    Fluttershy, yay! | Komentářů: 11
    24.7. 06:00 | Komunita

    Vydání Debianu 11 s kódovým jménem Bullseye je naplánováno na sobotu 14. srpna.

    Ladislav Hagara | Komentářů: 12
    23.7. 23:55 | Nová verze

    Google Chrome 92, konkrétně verze 92.0.4515.107, byl v úterý prohlášen za stabilní. Opraveno bylo 35 bezpečnostních chyb. Pete LePage doteď nepublikoval oficiální přehled novinek (New in Chrome, YouTube). Publikován byl jenom seznam novinek v nástrojích pro vývojáře (YouTube). Sundar Pichai dnes na Twitteru oznámil vylepšení integrované hry chrome://dino/.

    Ladislav Hagara | Komentářů: 13
    23.7. 08:00 | Nová verze

    Firewall firewalld (Wikipedie, GitHub) dospěl do verze 1.0.0. Upozornit je nutno na nekompatibilní změny. Zrušena byla podpora Pythonu 2.

    Ladislav Hagara | Komentářů: 0
    23.7. 01:11 | Komunita

    Milí priatelia Mozilly, tím Mozilla.sk hľadá pomoc v radoch dobrovoľníkov, ktorí sú ochotní pomáhať nám s týmto projektom. Vítaná je akákoľvek pomoc, no aktuálne hľadáme hlavne ľudí, ktorí by sa starali o aktuálnosť lokalizovaných článkov na stránkach podpory SUMO. Projekt je doteraz veľmi sviežo udržiavaný, no naše kapacity prekročili všetky limity a už nestíhame. Ak sa nám v najbližšej dobe nepodarí rozšíriť tím, bude nutné zo stránok

    … více »
    Ladislav Hagara | Komentářů: 24
    Preferuji
     (63%)
     (27%)
     (10%)
    Celkem 349 hlasů
     Komentářů: 68, poslední včera 19:19
    Rozcestník

    Dotaz: Make Target-specific Variable Values

    FoxVK avatar 2.1.2016 18:53 FoxVK | skóre: 1 | blog: Nora linuxáka
    Make Target-specific Variable Values
    Přečteno: 235×

    Snažím se udělat makefile pro knihovnu. Cílem je aby make static vytvořil libdfmt.a a make win32 vyrobil pře mingw win32libdfmt.a

    Pokusil jsem se využít target specific hodnot proměnných.

    A skoro to i funguje.

    Cíl win32 přenastaví proměnnou NAME z libdfmt na win32libdfmt a přejde k cíli static. Na základě proměnné NAME by v cíl static měl mít perekvizitu ../win32libdfmt.a. Ale z nějkého důvodu je v perekvizitě použita stará hodnota z NAME. Ovšem výpis v těle vypíše správnou hodnotu.

    V terminálu se mi vypíše:

    ...
    AR target: name is win32libdfmt.a target name is ../libdfmt.a
    ...
    call from static target: name is win32libdfmt.a 
    
    Tak nevim - z nějakého důvodu to nejdřív vyrobí perekvizity a až potom se to pustí do vyhodnocování. Jak nějak elegantně vyřešit tu kroskompilaci ? Nebo dělám něco blbě ?
    Celý makefile:
    IDIR =../include
    ODIR=../obj
    DOC=../doc
    
    NAME=libdfmt
    
    CC=gcc
    AR=ar
    CFLAGS=-Wall -std=c99  -O0 -g
    INCLUDES = -I../ -I$(IDIR) -I/usr/include/libusb-1.0/
    
    LIBS= -lusb-1.0
    
    DEPS = $(wildcard ../*.h) $(wildcard $(IDIR)/*.h)
    
    OBJ = $(patsubst %.c,%.o,$(wildcard *.c))
    
    VPATH = $(ODIR) ../
    
    .PHONY: all
    all: test static
    
    %.o: %.c $(DEPS)
    	mkdir -p $(ODIR)
    	$(CC) -c -o $(ODIR)/$@ $< $(CFLAGS) $(INCLUDES)
    
    .PHONY: static
    static: ../$(NAME).a
    	$(info call from static target: name is $(NAME).a )
    
    
    ../%.a: $(OBJ)
    	$(info AR target: name is $(NAME).a target name is $@)
    	$(AR) rsc $@ $(patsubst %, $(ODIR)/%, $(OBJ))
    	
    .PHONY: win32
    win32: CC = /usr/bin/i686-w64-mingw32-gcc
    win32: AR = /usr/bin/i686-w64-mingw32-ar
    win32: ODIR := $(ODIR)/win32
    win32: NAME := win32$(NAME)
    win32: static
    
    
    .PHONY: clean
    clean:
    	rm -rvf $(ODIR) *~ core $(INCDIR)/*~ ../*.a ../*.bin
    
    .PHONY: test
    test: ../$(NAME).bin
    
    ../$(NAME).bin: $(OBJ)
    	gcc $(CFLAGS) -o ../$(NAME).bin $(patsubst %, $(ODIR)/%, $(OBJ)) $(LIBS)  && chmod +x ../$(NAME).bin
    
    .PHONY: doc
    doc: $(DOC)/html/index.html
    
    
    $(DOC)/html/index.html: $(wildcard ../*.h) $(DOC)/Doxyfile
    	cd $(DOC) && doxygen
    	
    $(ODIR):
    	mkdir -p $(ODIR)
    
    

    Na otázku zatím nikdo bohužel neodpověděl.

    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.