1
0
Fork 0

🔨 Heavily improve Makefile + Add 'install' target.

Signed-off-by: yc <yc@hackclub.app>
This commit is contained in:
YoungChief 2024-04-29 09:17:12 +00:00
parent 54efca802d
commit 541b6c05db
Signed by: yc
SSH key fingerprint: SHA256:/762XoeFACwVxXLtK+gOlFF0brtEkdOeolz90+jCeRw

View file

@ -1,14 +1,24 @@
CC = cc
CFLAGS = -O4 -Ofast -march=native -flto -fomit-frame-pointer -finline-functions -funroll-loops -std=c2x
DIR = cgi
PREFIX = ~
FIND = find
CP = cp
SOURCES = $(wildcard $(DIR)/*.c)
TARGETS = $(patsubst $(DIR)/%.c,%,$(SOURCES))
.PHONY: all install clean
all: $(TARGETS)
%: $(DIR)/%.c
$(CC) $(CFLAGS) -o $(DIR)/$@ $<
install: $(TARGETS)
mkdir -p $(PREFIX)/$(DIR)
$(FIND) $(DIR)/ -type f -exec file {} \; | grep "executable" | cut -d: -f1 | xargs -I {} $(CP) {} $(PREFIX)/$(DIR)
clean:
find $(DIR)/ -type f ! -name '*.c' -exec rm -f {} \;
$(FIND) $(DIR)/ -type f ! -name '*.c' -exec rm -f {} \;