diff options
| -rw-r--r-- | BSDmakefile (renamed from Makefile) | 2 | ||||
| -rw-r--r-- | GNUmakefile | 53 |
2 files changed, 54 insertions, 1 deletions
@@ -49,4 +49,4 @@ release: @make -DRELEASE clean: - rm -f *.o *~ *.core $(OBJ) $(TARGET) + 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) |
