From e68bb9339728134d780293bcda34ddbde633342a Mon Sep 17 00:00:00 2001 From: "@syxhe" Date: Wed, 7 May 2025 21:19:23 -0500 Subject: Simple stack implementation for making a concurrent stack --- src/~Makefile | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/~Makefile (limited to 'src/~Makefile') diff --git a/src/~Makefile b/src/~Makefile new file mode 100644 index 0000000..b045807 --- /dev/null +++ b/src/~Makefile @@ -0,0 +1,39 @@ +CC = gcc +SHELL := /usr/bin/env +.SHELLFLAGS := -S bash -c + +# I need to get better at makefiles so I can write this in a way that isn't absolutely insane/stupid +# RELEASE_CFLAGS := -O3 -fipa-pta -fipa-cp -fuse-linker-plugin -flto=auto +# RELEASE_LDFLAGS := -fuse-linker-plugin -flto=auto + +CFLAGS = -std=c2x -Wall -Wextra -Wpedantic -pedantic-errors -fanalyzer -Wanalyzer-too-complex -ggdb -g3 -O0 $$(pkg-config --cflags libsodium) +LDLIBS += $$(pkg-config --libs-only-l libsodium) +LDFLAGS += $$(pkg-config --libs-only-L libsodium) +DEPFLAGS = -MT $@ -MMD -MP -MF $*.d + +SOURCES := $(wildcard *.c) +OBJECTS := $(patsubst %.c,%.o,$(SOURCES)) +DEPS := $(patsubst %.c,%.d,$(SOURCES)) + +COMPILE.c = $(CC) $(DEPFLAGS) $(CFLAGS) -c + +.PHONY: all c clean val +.DELETE_ON_ERROR: +.ONESHELL: + +all: main +main: $(OBJECTS) + +%.o: %.c %.d + $(COMPILE.c) $< + +$(DEPS): +include $(wildcard $(DEPS)) +# Adopted from https://make.mad-scientist.net/papers/advanced-auto-dependency-generation/ + +c clean: + @-rm -rv main $(OBJECTS) $(DEPS) $(wildcard *.test*) $(wildcard *.enc) + +val: + $(MAKE) all + valgrind --leak-check=yes ./main \ No newline at end of file -- cgit v1.2.3