Нет вывода printf на терминал при использовании makefile
Мой Makefile:
HEADERS = headers.h macros.h main.h socket.h main.o : main.c main.h cc -c main.c socket.o : socket.c headers.h macros.h cc -c socket.c
главная.с
#include "main.h" main() { printf("%s\n","Connect_Socket Start"); Connect_Socket(IP_ADDRESS, PORT); printf("%s\n","Connect_Socket End"); while(1) { Send_Message(); Recv_Message(); } Close_Socket(); }
гнездо.с
#include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netdb.h> #include <errno.h> #include "headers.h" #include "macros.h" void Connect_Socket() { //definiton... } int Send_Message() { //definiton... } int Recv_Message() { //definiton... } void Close_Socket() { //definiton... }
гнездо.ч
//function declarations of socket.c
макросы.ч
//Some macros used in socket.c and main.c
заголовки.ч
//Includes standard .h files
главная.ч
#include "headers.h" #include "socket.h" #include "macros.h" #include "MQTTPacket/MQTTPacket.h"
При выполнении
$make
на терминале я не получаю никаких ошибок. Однако я также не получаю никаких сообщений printf ().Что я уже пробовал:
Я попытался изменить свой makefile на:
cc = gcc OBJFILES = socket.o main.o TARGET = mqtt_c8y all: $(TARGET) $TARGET: $(OBJFILES) $(CC) -o $(TARGET) $(OBJFILES)
Однако при комментировании вызовов функций в main.c и компиляции просто main.c с помощью
$gcc main.c
и затем $./a.out
, Я действительно получаю сообщения printf ().