From 9d9c370d666f99434f44627c233426e4ba28de32 Mon Sep 17 00:00:00 2001 From: Kirill <20815458+dartvader316@users.noreply.github.com> Date: Mon, 11 Nov 2024 15:11:46 +0000 Subject: [PATCH] Fix building .o files in Makefile (#229) * Revert "Dont use object files" This reverts commit e9bf02907798a8dd3b7b5c48893b0ca2544fb988. * recompile all objects on any headers change --- Makefile | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index f4f532d..d227fc8 100644 --- a/Makefile +++ b/Makefile @@ -1,24 +1,35 @@ + TARGET = ciadpi CPPFLAGS = -D_DEFAULT_SOURCE CFLAGS += -I. -std=c99 -Wall -Wno-unused -O2 WIN_LDFLAGS = -lws2_32 -lmswsock +HEADERS = conev.h desync.h error.h extend.h kavl.h mpool.h packets.h params.h proxy.h win_service.h SRC = packets.c main.c conev.c proxy.c desync.c mpool.c extend.c WIN_SRC = win_service.c +OBJ = $(SRC:.c=.o) +WIN_OBJ = $(WIN_SRC:.c=.o) + PREFIX := /usr/local INSTALL_DIR := $(DESTDIR)$(PREFIX)/bin/ -all: - $(CC) $(CPPFLAGS) $(CFLAGS) $(SRC) -o $(TARGET) $(LDFLAGS) +all: $(TARGET) -windows: - $(CC) $(CPPFLAGS) $(CFLAGS) $(SRC) $(WIN_SRC) -o $(TARGET).exe $(WIN_LDFLAGS) +$(TARGET): $(OBJ) + $(CC) -o $(TARGET) $(OBJ) $(LDFLAGS) + +windows: $(OBJ) $(WIN_OBJ) + $(CC) -o $(TARGET).exe $(OBJ) $(WIN_OBJ) $(WIN_LDFLAGS) + +$(OBJ): $(HEADERS) +.c.o: + $(CC) $(CPPFLAGS) $(CFLAGS) -c $< clean: rm -f $(TARGET) $(TARGET).exe $(OBJ) $(WIN_OBJ) -install: all +install: $(TARGET) mkdir -p $(INSTALL_DIR) install -m 755 $(TARGET) $(INSTALL_DIR)