From dc7406f717e1381c4ecaefb5277a79a3297eae28 Mon Sep 17 00:00:00 2001 From: Elouan Gros Date: Sat, 5 Sep 2026 09:39:49 +0200 Subject: split makefile -> BSDm / GNUm --- BSDmakefile | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ GNUmakefile | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ Makefile | 52 ---------------------------------------------------- 3 files changed, 105 insertions(+), 52 deletions(-) create mode 100644 BSDmakefile create mode 100644 GNUmakefile delete mode 100644 Makefile diff --git a/BSDmakefile b/BSDmakefile new file mode 100644 index 0000000..70c5aa7 --- /dev/null +++ b/BSDmakefile @@ -0,0 +1,52 @@ +UNAME := $$( uname -s ) + +.if ${UNAME} == "Linux" +CC=clang --std=gnu11 +.else +CC=clang --std=c11 +.endif +AR=ar ruvcs + +CFLAGS=-Wall -Wextra -Werror -Weverything -pedantic +.ifdef RELEASE +CFLAGS+=-O2 +LFLAGS=-O2 +.else +CFLAGS+=-g +LFLAGS=-g +.endif +LIBS=-lncurses -lform -lm + +TARGET=lc +DEPS=main.c +HEAD= +OBJ=${DEPS:.c=.o} + +LIB=las.a +LDEPS=bullet_loan.c straight_line_loan.c mortgage_loan.c loans.c read_functions.c +LHEAD=contract.h loans.h +LOBJ=${LDEPS:.c=.o} + +.PHONY: all clean release lib $(TARGET) $(LIB) + +all: $(LIB) $(TARGET) + +$(OBJ): $(HEAD) +$(LOBJ): $(LHEAD) + +.c.o: + $(CC) -o $@ -c $< $(CFLAGS) + +$(TARGET): $(OBJ) $(LIB) + $(CC) -o $@ $(OBJ) $(LIB) $(LIBS) $(LFLAGS) + +$(LIB): $(LOBJ) + $(AR) $(LIB) $(LOBJ) + +lib: $(LIB) + +release: + @make -DRELEASE + +clean: + rm -f *.core $(OBJ) $(TARGET) $(LOBJ) $(LIB) diff --git a/GNUmakefile b/GNUmakefile new file mode 100644 index 0000000..995c34d --- /dev/null +++ b/GNUmakefile @@ -0,0 +1,53 @@ +UNAME := $$( uname -s ) + +ifeq (${UNAME}, "Linux") +CC=clang --std=gnu11 +else +CC=clang --std=c11 +endif +AR=ar ruvcs + +CFLAGS=-Wall -Wextra -Weverything -pedantic #-Werror +CFLAGS+=-Wno-declaration-after-statement -Wno-pre-c11-compat +ifdef ${RELEASE} +CFLAGS+=-O2 +LFLAGS=-O2 +else +CFLAGS+=-g +LFLAGS=-g +endif +LIBS=-lncurses -lform -lm + +TARGET=lc +DEPS=main.c +HEAD= +OBJ=${DEPS:.c=.o} + +LIB=las.a +LDEPS=bullet_loan.c straight_line_loan.c mortgage_loan.c loans.c read_functions.c +LHEAD=contract.h loans.h +LOBJ=${LDEPS:.c=.o} + +.PHONY: all clean release lib $(TARGET) $(LIB) + +all: $(LIB) $(TARGET) + +$(OBJ): $(HEAD) +$(LOBJ): $(LHEAD) + +.c.o: + $(CC) -o $@ -c $< $(CFLAGS) + +$(TARGET): $(OBJ) $(LIB) + $(CC) -o $@ $(OBJ) $(LIB) $(LIBS) $(LFLAGS) + +$(LIB): $(LOBJ) + $(AR) $(LIB) $(LOBJ) + +lib: $(LIB) + +release: + @make -DRELEASE + +clean: + rm -f *~ *.core $(OBJ) $(TARGET) $(LOBJ) $(LIB) diff --git a/Makefile b/Makefile deleted file mode 100644 index b883d7f..0000000 --- a/Makefile +++ /dev/null @@ -1,52 +0,0 @@ -UNAME := $$( uname -s ) - -.if ${UNAME} == "Linux" -CC=clang --std=gnu11 -.else -CC=clang --std=c11 -.endif -AR=ar ruvcs - -CFLAGS=-Wall -Wextra -Werror -Weverything -pedantic -.ifdef RELEASE -CFLAGS+=-O2 -LFLAGS=-O2 -.else -CFLAGS+=-g -LFLAGS=-g -.endif -LIBS=-lncurses -lform -lm - -TARGET=lc -DEPS=main.c -HEAD= -OBJ=${DEPS:.c=.o} - -LIB=las.a -LDEPS=bullet_loan.c straight_line_loan.c mortgage_loan.c loans.c read_functions.c -LHEAD=contract.h loans.h -LOBJ=${LDEPS:.c=.o} - -.PHONY: all clean release lib $(TARGET) $(LIB) - -all: $(LIB) $(TARGET) - -$(OBJ): $(HEAD) -$(LOBJ): $(LHEAD) - -.c.o: - $(CC) -o $@ -c $< $(CFLAGS) - -$(TARGET): $(OBJ) $(LIB) - $(CC) -o $@ $(OBJ) $(LIB) $(LIBS) $(LFLAGS) - -$(LIB): $(LOBJ) - $(AR) $(LIB) $(LOBJ) - -lib: $(LIB) - -release: - @make -DRELEASE - -clean: - rm -f *.o *~ *.core $(OBJ) $(TARGET) -- cgit v1.2.3