aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSyndamia <kamen@syndamia.com>2024-01-07 18:39:40 +0200
committerSyndamia <kamen@syndamia.com>2024-01-07 18:39:40 +0200
commit040b61cd625848e09ea2d3376f3b74382efe06a9 (patch)
treeeac3b94ea2dcf904c3c59bd3a6f08ed1522ac3ce
parentba8f4d742bac57c1f0e76d76a2e87d66adabd56f (diff)
downloadpico-web-040b61cd625848e09ea2d3376f3b74382efe06a9.tar
pico-web-040b61cd625848e09ea2d3376f3b74382efe06a9.tar.gz
pico-web-040b61cd625848e09ea2d3376f3b74382efe06a9.zip
(Makefile) Moved building to a Makefile inside src and added dev/prod flags
-rw-r--r--Makefile18
-rw-r--r--src/Makefile33
2 files changed, 41 insertions, 10 deletions
diff --git a/Makefile b/Makefile
index 101dd63..e843671 100644
--- a/Makefile
+++ b/Makefile
@@ -1,16 +1,14 @@
-CC=gcc
-CFLAGS=-g -Isrc
.PHONY: all
-all: server browser
+all: build
-.PHONY: server
-server:
- $(CC) $(CFLAGS) -o server src/sds/sds.c src/util.c src/server.c src/server-connection.c src/server-cli.c
+.PHONY: build
+build:
+ $(MAKE) -C ./src build
-.PHONY: browser
-browser:
- $(CC) $(CFLAGS) -o browser src/sds/sds.c src/util.c src/browser.c src/browser-net.c src/browser-cli.c
+.PHONY: dev
+build:
+ $(MAKE) -C ./src dev
.PHONY: tests
tests:
@@ -18,5 +16,5 @@ tests:
.PHONY: clean
clean:
- $(RM) server browser
+ cd ./src/ && $(MAKE) clean
cd ./tests/ && $(MAKE) clean
diff --git a/src/Makefile b/src/Makefile
new file mode 100644
index 0000000..605f1f5
--- /dev/null
+++ b/src/Makefile
@@ -0,0 +1,33 @@
+# Compilation
+CC ?= gcc
+CFLAGS ?= -I.
+OUT ?= ../build
+
+PROD_CFLAGS ?= -O2
+DEV_CFLAGS ?= -g
+
+.PHONY: build
+build: CFLAGS += $(PROD_CFLAGS)
+build: server browser
+
+.PHONY: dev
+dev: CFLAGS += $(DEV_CFLAGS)
+dev: server browser
+
+.PHONY: prod-server
+prod-server: CFLAGS += $(PROD_CFLAGS)
+prod-server: server
+
+.PHONY: server
+server:
+ mkdir -p $(OUT)
+ $(CC) $(CFLAGS) -o $(OUT)/server sds/sds.c util.c server.c server-connection.c server-cli.c
+
+.PHONY: browser
+browser:
+ mkdir -p $(OUT)
+ $(CC) $(CFLAGS) -o $(OUT)/browser sds/sds.c util.c browser.c browser-net.c browser-cli.c
+
+.PHONY: clean
+clean:
+ $(RM) $(OUT)