CFLAGS := $(CFLAGS) -ggdb -Wno-format-truncation
LDFLAGS := $(LDFLAGS)
-# link
-webcit: server/*.c
- gcc $(CFLAGS) server/*.c $(LDFLAGS) -lcitadel -lpthread -lcrypto -lssl -lexpat -o webcit
+SRC := server
+OBJ := server
+
+SOURCES := $(wildcard $(SRC)/*.c)
+OBJECTS := $(patsubst $(SRC)/%.c, $(OBJ)/%.o, $(SOURCES))
+
+webcit: $(OBJECTS)
+ gcc $(CFLAGS) $(OBJECTS) $(LDFLAGS) -lcitadel -lpthread -lcrypto -lssl -lexpat -o webcit
+
+$(OBJ)/%.o: $(SRC)/%.c
+ gcc $(CFLAGS) -I$(SRC) -c $< -o $@
# remove compilation products
clean:
- rm -f webcit
+ rm -f webcit server/*.o
distclean: clean