я следующий Makefile (Makefile.certify), и когда я выполняю:Что делает этот makefile?
make -f Makefile.certify
Это дает мне:
/bin/sh: line 23: -o: command not found
PROG=certify
TMP=/var/tmp
ARCH=x86_64
_CC=/bin/cc
all: ${PROG}
${PROG}: ${ARCH}
@for mode in $? ; do \
case $${mode} in \
i386) \
CC="${_CC} -g -D__x86"; \
;; \
i386-f64) \
CC="${_CC} -D_FILE_OFFSET_BITS=64 -g -D__x86";\
;; \
amd64) \
CC="${_CC} -m64 -g -D__x86 -D__ia64 -D__GNUC";\
;; \
*) \
;; \
esac; \
$${CC} -o ${TMP}/$${mode}/[email protected] ${TMP}/[email protected]; \
done
Я действительно не использовать makefiles
или c
, но мне приходится иметь дело с этим.
Мои вопросы:
- Почему цикл нужен
@
префикс?- Что такое
$?
в цикле for?- Каким будет выполнение этого файла makefile? Очевидно, он пытается скомпилировать мой сертификат.
c file
на основе архитектуры системы, совершающей или что-то вроде этого, но я не вижу, как он будет выбирать либоi386
илиamd64
т.д.
Я использую x86
система работает RHEL
.
Или 'Информация make'. – reinierpost