Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.
Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.
Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.
Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.
Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.
Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.
Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.
Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.
Byla vydána nová verze 10.1 sady aplikací pro SSH komunikaci OpenSSH. Uživatel je nově varován, když se nepoužívá postkvantovou výměnu klíčů.
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
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.
No, to tusim. Ale jak cestu k adresari pridat?
Diky
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 = . endifPotom je třeba změnit pravidlo
distr
:
distr: make -f $(BASE_PATH)/distrib/Makefile allV
a/amd/Makefile
se potom na začátek přidá nahoru definice:
BASE_PATH = ..
Tiskni
Sdílej: