summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authoruint23 <[email protected]>2025-04-20 20:56:56 +0100
committeruint23 <[email protected]>2025-04-20 20:56:56 +0100
commit374ae6b3f1a41362d68063e58dc8340c99420bb5 (patch)
treedb09feb60202002b41a63a7f22ba19da2314d405 /Makefile
parent84da5b78bf4f5d539dfeda56a5eb15dab2fc5f0a (diff)
update makefiles
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile25
1 files changed, 15 insertions, 10 deletions
diff --git a/Makefile b/Makefile
index 148ae52..961c08e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,23 +1,28 @@
-CC = gcc
-CFLAGS = -Wall -Wextra -O3 -g -Isrc -march=native -flto -s -Os
-LDFLAGS = -lX11
+CC ?= gcc
+CFLAGS ?= -Wall -Wextra -O2 -Isrc
+LDFLAGS ?= -lX11
-SRC_DIR = src
-SRC = $(wildcard $(SRC_DIR)/*.c)
-OBJ = $(SRC:.c=.o)
-BIN = sxwm
-PREFIX = /usr/local
+PREFIX ?= /usr/local
+BIN ?= sxwm
+SRC_DIR := src
+OBJ_DIR := build
+
+SRC := $(wildcard $(SRC_DIR)/*.c)
+OBJ := $(patsubst $(SRC_DIR)/%.c, $(OBJ_DIR)/%.o, $(SRC))
all: $(BIN)
$(BIN): $(OBJ)
$(CC) -o $@ $^ $(LDFLAGS)
-$(SRC_DIR)/%.o: $(SRC_DIR)/%.c
+$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c | $(OBJ_DIR)
$(CC) $(CFLAGS) -c -o $@ $<
+$(OBJ_DIR):
+ mkdir -p $(OBJ_DIR)
+
clean:
- rm -f $(SRC_DIR)/*.o $(BIN)
+ rm -rf $(OBJ_DIR) $(BIN)
install: all
@echo "Installing $(BIN) to $(DESTDIR)$(PREFIX)/bin..."