Tôi đang cố xác định các biến trong một tệp Makefile, theo các điều kiện. Vì ifeq chỉ có thể chạy trong các quy tắc, tôi đã thêm một quy tắc bổ sung (def_rule) mà tôi tham chiếu cho mỗi quy tắc.Biến điều kiện xác định trong Makefile với ifeq
Ví dụ:
def_rule:
ifeq ($(TARGET), android)
CC=arm-linux-androideabi-gcc
else
echo "native build"
endf
all: def_rule tp xi_eid_chipset.o
Thật không may, gọi làm cho tất cả lợi nhuận này:
ifeq (linux, android)
/bin/sh: Syntax error: word unexpected (expecting ")")
make: *** [def_rule] Error 2
Tôi không thể hiểu tại sao. Tôi vừa làm theo các ví dụ trong tài liệu GNU Make.
Bạn có biết cách định nghĩa có điều kiện trong Makefiles không?