Я написал очень простой Make-файл, который отлично работает. Просто некоторые из моих эхо-команд просто не работают, и я не знаю, почему это так.Super simple Make-File echoing не работает
LIBNAME=E2E.lib
CC=gcc
CFLAGS=-c -Wall
AR=ar
ARFLAGS=rvs
SOURCES=E2E_P01.c E2E_P02.c Crc.c E2E.c
OBJECTS=$(SOURCES:.c=.o)
all: $(SOURCES) $(LIBNAME) clean
$(LIBNAME): $(OBJECTS)
$(AR) $(ARFLAGS) [email protected] $(OBJECTS)
.cpp.o:
@echo Compiling ...
$(CC) $(CFLAGS) $< -o [email protected]
@echo done
clean:
@echo Cleaning up all the object files ...
rm *.o
@echo done
@sleep 5
Так выход замыкающий-процесса заключается в следующем:
gcc —c —Wall —c —o E2E_P01.o E2E_P01.c
gcc —c —Wall —c —o E2E_P02.o E2E_P02.c
gcc —c —Wall —c —o Crc.o Crc.c
gcc —c —Wall —c —o E2E.o E2E.c
ar rvs E2E.lib E2E_P01.o E2E_P02.o Crc.o E2E.o
r— E2E_P01.o
r— E2E_P02.o
r— Crc.o
r— E2E.o
Cleaning up all the object files ...
rm *.o
done
Почему не все эхо-команд на выходе? Очевидно, должно быть напечатано сообщение для каждого компилируемого модуля (Compiling ... done). Почему не так?