summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore8
-rw-r--r--Makefile29
2 files changed, 25 insertions, 12 deletions
diff --git a/.gitignore b/.gitignore
index 58f0b1b..3bfe699 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,6 @@
-# Ignore executable binary
-cfws
+# Ignore IDE and editor project files
+.vscode
-.vscode \ No newline at end of file
+# Ignore build output
+cfws
+*.o
diff --git a/Makefile b/Makefile
index c4da138..573c499 100644
--- a/Makefile
+++ b/Makefile
@@ -1,13 +1,24 @@
+CXX=g++
+LD=g++
+
CFLAGS=-pedantic -Wall --std=c++17
-SRC=src/main.cpp \
- src/CGIScript.cpp \
- src/ClientConnection.cpp \
- src/ServerConnection.cpp \
- src/HttpRequest.cpp \
- src/HttpResponse.cpp
+OBJS=src/main.o \
+ src/CGIScript.o \
+ src/ClientConnection.o \
+ src/ServerConnection.o \
+ src/HttpRequest.o \
+ src/HttpResponse.o
+
+all: cfws
+
+%.o: %.cpp
+ $(CXX) $< -o $@ -c $(CFLAGS)
+
+cfws: $(OBJS)
+ $(LD) $^ -o $@ $(CFLAGS)
-OUT=cfws
+.PHONY: clean
-$(OUT): $(SRC)
- $(CXX) $(CFLAGS) -o $(OUT) $(SRC)
+clean:
+ rm -f $(OBJS) cfws