From 1e1166404b758430f988d5612dcddc499e731f3f Mon Sep 17 00:00:00 2001 From: Mylloon Date: Wed, 3 Apr 2024 15:38:54 +0200 Subject: [PATCH] fix makefiles --- README.md | 8 ++++---- c/Makefile | 22 +++++++++++----------- cpp/Makefile | 20 ++++++++++---------- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/README.md b/README.md index ec2bcb8..6faba8f 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,8 @@ Copy and paste [`c/`](./c/) directory, and you should be good to go! - Remember to change executable's name and change std's target in the [`Makefile`](./c/Makefile). -- **Run `make` to compile the program.** -- **Run `make dev` to compile the program in debug mode.** +- **Run `make` to compile the program in release mode.** +- **Run `make debug` to compile the program in debug mode.** - **Run `make clean` to clean artifacts.** ## C++ @@ -26,8 +26,8 @@ Copy and paste [`cpp/`](./cpp/) directory, and you should be good to go! - Remember to change executable's name and change std's target in the [`Makefile`](./cpp/Makefile). -- **Run `make` to compile the program.** -- **Run `make dev` to compile the program in debug mode.** +- **Run `make` to compile the program in release mode.** +- **Run `make debug` to compile the program in debug mode.** - **Run `make clean` to clean artifacts.** ## LaTeX diff --git a/c/Makefile b/c/Makefile index 7dbebf6..8382b1a 100644 --- a/c/Makefile +++ b/c/Makefile @@ -2,7 +2,7 @@ CC = gcc RM = rm SOURCES = $(wildcard src/*.c) -OBJETS = $(patsubst %.c,%.o,$(notdir $(SOURCES))) +OBJECTS = $(patsubst %.c,%.o,$(notdir $(SOURCES))) CFLAGS = -std=c11 -pedantic LDFLAGS = @@ -13,19 +13,19 @@ EXE_EXT = out %.o: src/%.c $(CC) -c $< -o $@ $(CFLAGS) -compilation: $(OBJETS) - $(CC) -o $(EXE).$(EXE_EXT) $(OBJETS) $(LDFLAGS) +release: CFLAGS += -O3 +release: compilation -main: CFLAGS += -O3 -main: compilation +debug: CFLAGS += -Wall -Wextra -Wshadow -Wcast-align -Wstrict-prototypes +debug: CFLAGS += -fanalyzer -fsanitize=undefined -g -Og +debug: LDFLAGS += -fsanitize=undefined +debug: compilation -dev: CFLAGS += -Wall -Wextra -Wshadow -Wcast-align -Wstrict-prototypes -dev: CFLAGS += -fanalyzer -fsanitize=undefined -g -Og -dev: LDFLAGS += -fsanitize=undefined -dev: compilation +compilation: $(OBJECTS) + $(CC) -o $(EXE).$(EXE_EXT) $(OBJECTS) $(LDFLAGS) all: - main + release clean: - $(RM) $(OBJETS) $(EXE).$(EXE_EXT) + $(RM) $(OBJECTS) $(EXE).$(EXE_EXT) diff --git a/cpp/Makefile b/cpp/Makefile index 2825dde..1adf6ce 100644 --- a/cpp/Makefile +++ b/cpp/Makefile @@ -2,7 +2,7 @@ CXX = g++ RM = rm SOURCES = $(wildcard src/*.cpp) -OBJETS = $(patsubst %.cpp,%.o,$(notdir $(SOURCES))) +OBJECTS = $(patsubst %.cpp,%.o,$(notdir $(SOURCES))) CXXFLAGS = --std=c++11 @@ -12,18 +12,18 @@ EXE_EXT = out %.o: src/%.cpp $(CXX) -c -o $@ $< $(CXXFLAGS) -compilation: $(OBJETS) - $(CXX) -o $(EXE).$(EXE_EXT) $(OBJETS) +release: CXXFLAGS += -O3 +release: compilation -main: CXXFLAGS += -O3 -main: compilation +debug: CXXFLAGS += -Wall -Wextra -Wshadow -Wnon-virtual-dtor -pedantic -g +debug: CXXFLAGS += -Wold-style-cast -Wsign-conversion +debug: compilation -dev: CXXFLAGS += -Wall -Wextra -Wshadow -Wnon-virtual-dtor -pedantic -g -dev: CXXFLAGS += -Wold-style-cast -Wsign-conversion -dev: compilation +compilation: $(OBJECTS) + $(CXX) -o $(EXE).$(EXE_EXT) $(OBJECTS) all: - main + release clean: - $(RM) $(OBJETS) $(EXE).$(EXE_EXT) + $(RM) $(OBJECTS) $(EXE).$(EXE_EXT)