From 040b61cd625848e09ea2d3376f3b74382efe06a9 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Sun, 7 Jan 2024 18:39:40 +0200 Subject: (Makefile) Moved building to a Makefile inside src and added dev/prod flags --- Makefile | 18 ++++++++---------- src/Makefile | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 10 deletions(-) create mode 100644 src/Makefile 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) -- cgit v1.2.3