abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 23:22 | Nová verze

    Hudební přehrávač Amarok byl vydán v nové major verzi 3.0 postavené na Qt5/KDE Frameworks 5. Předchozí verze 2.9.0 vyšla před 6 lety a byla postavená na Qt4. Portace Amaroku na Qt6/KDE Frameworks 6 by měla začít v následujících měsících.

    Ladislav Hagara | Komentářů: 1
    včera 21:44 | Komunita

    Ubuntu 24.10 bude Oracular Oriole (věštecká žluva).

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

    Byla vydána nová verze 2.45.0 distribuovaného systému správy verzí Git. Přispělo 96 vývojářů, z toho 38 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání. Vypíchnout lze počáteční podporu repozitářů, ve kterých lze používat SHA-1 i SHA-256.

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

    Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".

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

    Byla vydána nová verze 24.04.28 s kódovým názvem Time After Time svobodného multiplatformního video editoru Shotcut (Wikipedie) a nová verze 7.24.0 souvisejícího frameworku MLT Multimedia Framework. Nejnovější Shotcut je vedle zdrojových kódů k dispozici také ve formátech AppImage, Flatpak a Snap.

    Ladislav Hagara | Komentářů: 0
    28.4. 16:33 | Nová verze Ladislav Hagara | Komentářů: 0
    28.4. 03:22 | Zajímavý článek

    V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …

    Ladislav Hagara | Komentářů: 0
    28.4. 00:11 | Nová verze

    Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.

    Ladislav Hagara | Komentářů: 7
    27.4. 17:44 | Nová verze

    Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    26.4. 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 12
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 882 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    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: 254×

    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.