В зависимости от того, какие свойства CSS вы собираетесь применять, вы можете или не сможете это сделать. Если вы собираетесь применить что-то вроде color
, например, вы можете просто установить его для всех элементов code
и сбросить его в code a
, считая, что весь текст содержится внутри этого a
и не проливается вне он находится в пределах code
. Это будет работать только для нескольких свойств (в основном, для шрифтов).
В противном случае здесь нет особого способа чистого CSS, если вы пытаетесь выбрать элементы code
, которые не содержат детей a
. jQuery имеет code:not(:has(> a))
(или для любого произвольного E
элемента без каких-либо дочерних элементов вообще, E:not(:has(> *))
), но , который не подходит к CSS в ближайшее время , а Selectors 4 не предоставляет что-либо еще для «элемента без дочерних элементов».
«Feh!» правильный.
$@
— имя создаваемого файла, а $<
— первое обязательное условие (обычно исходный файл). Список всех этих специальных переменных можно найти в руководстве GNU Make.
Например, рассмотрим следующее объявление:
all: library.cpp main.cpp
В данном случае:
$@
вычисляет до all
$<
оценивает до library.cpp
$^
оценивает до library.cpp main.cpp
в exemple, если Вы хотите скомпилировать источники, но иметь объекты в другом каталоге:
u должен сделать:
gcc -c -o <obj/1.o> <srcs/1.c> <obj/2.o> <srcs/2.c> ...
, но в большинстве случаев (с макросами других) результат будет:
gcc -c -o <all OBJ path> <all SRC path>
, таким образом, это ничего не скомпилирует ^^, и Вы не сможете поместить свои файлы объектов в другой dir :(
, решение состоит в том, чтобы использовать их специальные макросы
$@ [112]lt;
, это генерирует.o файл (obj/file.o) для каждого.c файла в SRC (src/file.c)
$(OBJ):$(SRC)
gcc -c -o $@ [113]lt; $(HEADERS) $(FLAGS)
, это означает:
$@ = $(OBJ)
[114]lt; = $(SRC)
, но строки строками ВМЕСТО всех строк Объекта, сопровождаемого всеми строками SRC
Специальные макросы $@
и $<
.
Где:
$@
- имя файла цели.
$<
- имя первой зависимости.