summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile56
1 files changed, 40 insertions, 16 deletions
diff --git a/Makefile b/Makefile
index 1182d1b..e675b7e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,23 +1,47 @@
.POSIX:
-CFLAGS=-g -D_POSIX_C_SOURCE=200809L
-YFLAGS=-d
-LIBS=-ly -ll
-PROGRAM=cc
-SYMLINKS=c89 c99 lint cflow ctags
-OBJECTS=main.o trigraph.o cpp.tab.o link.o
-GENERATED=trigraph.c *.tab.c *.tab.h
+# This Makefile was generated by maje
+# See https://src.kaivo.net/dev/maje/ for more information
+# Do not edit this Makefile by hand
-all: $(PROGRAM) $(SYMLINKS)
+CC=c99
+LD=$(CC)
+CFLAGS=-Wall -Wextra -Wpedantic -Werror -g
+LDFLAGS=
+LDLIBS=
+SRCDIR=.
+OBJDIR=.
+BINDIR=$(OBJDIR)
+LIBDIR=$(OBJDIR)
+DESTDIR=/usr/local
-$(SYMLINKS): $(PROGRAM)
- ln -s $(PROGRAM) $@
+all: $(BINDIR)/cc
-cpp.tab.c cpp.tab.h: cpp.y
- $(YACC) $(YFLAGS) -p cpp -b cpp cpp.y
+clean:
+ rm -f $(BINDIR)/cc $(OBJDIR)/*.o
-cc: $(OBJECTS)
- $(CC) -o $@ $(OBJECTS) $(LIBS)
+install: $(BINDIR)/cc
+ mkdir -p $(DESTDIR)/bin
+ cp $(BINDIR)/cc $(DESTDIR)/bin
-clean:
- rm -f $(PROGRAM) $(SYMLINKS) $(GENERATED) *.o
+$(BINDIR)/cc: $(OBJDIR)/cc.o
+$(OBJDIR)/cc.o: $(SRCDIR)/cc.h
+$(OBJDIR)/cc.o: $(SRCDIR)/cc.c
+ @mkdir -p $(@D)
+ $(CC) $(CFLAGS) -o $@ -c $(SRCDIR)/cc.c
+
+$(BINDIR)/cc: $(OBJDIR)/link.o
+$(OBJDIR)/link.o: $(SRCDIR)/link.h
+$(OBJDIR)/link.o: $(SRCDIR)/link.c
+ @mkdir -p $(@D)
+ $(CC) $(CFLAGS) -o $@ -c $(SRCDIR)/link.c
+
+$(BINDIR)/cc: $(OBJDIR)/cpp.o
+$(OBJDIR)/cpp.o: $(SRCDIR)/cc.h
+$(OBJDIR)/cpp.o: $(SRCDIR)/cpp.c
+ @mkdir -p $(@D)
+ $(CC) $(CFLAGS) -o $@ -c $(SRCDIR)/cpp.c
+
+$(BINDIR)/cc:
+ @mkdir -p $(@D)
+ $(LD) $(LDFLAGS) -o $@ $(OBJDIR)/*.o $(LDLIBS)