summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2020-10-22 08:56:59 -0400
committerJakob Kaivo <jkk@ung.org>2020-10-22 08:56:59 -0400
commitde3ccad4e9d3573d7c02f7b5e58ac951f9b3b23e (patch)
treeda0c7c11d4728d0b9f6662f9df3fee3e28067232
parent36de4ea4f836874ca005cdf70a581d1a037a8486 (diff)
generate install target
-rw-r--r--Makefile30
-rw-r--r--make.c4
2 files changed, 21 insertions, 13 deletions
diff --git a/Makefile b/Makefile
index 48777f3..6ca9731 100644
--- a/Makefile
+++ b/Makefile
@@ -12,41 +12,45 @@ LDLIBS=
SRCDIR=.
OBJDIR=.
BINDIR=$(OBJDIR)
+DESTDIR=/usr/local
all: $(BINDIR)/maje
clean:
rm -f $(BINDIR)/maje $(OBJDIR)/*.o
-$(BINDIR)/maje: $(OBJDIR)/make.o
-$(OBJDIR)/make.o: $(SRCDIR)/maje.h
-$(OBJDIR)/make.o: $(SRCDIR)/make.c
- $(CC) $(CFLAGS) -o $@ -c $(SRCDIR)/make.c
+install: $(BINDIR)/maje
+ cp $(BINDIR)/maje $(DESTDIR)/bin
+
+$(BINDIR)/maje: $(OBJDIR)/main.o
+$(OBJDIR)/main.o: $(SRCDIR)/maje.h
+$(OBJDIR)/main.o: $(SRCDIR)/main.c
+ $(CC) $(CFLAGS) -o $@ -c $(SRCDIR)/main.c
$(BINDIR)/maje: $(OBJDIR)/sources.o
$(OBJDIR)/sources.o: $(SRCDIR)/maje.h
$(OBJDIR)/sources.o: $(SRCDIR)/sources.c
$(CC) $(CFLAGS) -o $@ -c $(SRCDIR)/sources.c
-$(BINDIR)/maje: $(OBJDIR)/main.o
-$(OBJDIR)/main.o: $(SRCDIR)/maje.h
-$(OBJDIR)/main.o: $(SRCDIR)/main.c
- $(CC) $(CFLAGS) -o $@ -c $(SRCDIR)/main.c
+$(BINDIR)/maje: $(OBJDIR)/includes.o
+$(OBJDIR)/includes.o: $(SRCDIR)/maje.h
+$(OBJDIR)/includes.o: $(SRCDIR)/includes.c
+ $(CC) $(CFLAGS) -o $@ -c $(SRCDIR)/includes.c
$(BINDIR)/maje: $(OBJDIR)/list.o
$(OBJDIR)/list.o: $(SRCDIR)/maje.h
$(OBJDIR)/list.o: $(SRCDIR)/list.c
$(CC) $(CFLAGS) -o $@ -c $(SRCDIR)/list.c
+$(BINDIR)/maje: $(OBJDIR)/make.o
+$(OBJDIR)/make.o: $(SRCDIR)/maje.h
+$(OBJDIR)/make.o: $(SRCDIR)/make.c
+ $(CC) $(CFLAGS) -o $@ -c $(SRCDIR)/make.c
+
$(BINDIR)/maje: $(OBJDIR)/maje.o
$(OBJDIR)/maje.o: $(SRCDIR)/maje.h
$(OBJDIR)/maje.o: $(SRCDIR)/maje.c
$(CC) $(CFLAGS) -o $@ -c $(SRCDIR)/maje.c
-$(BINDIR)/maje: $(OBJDIR)/includes.o
-$(OBJDIR)/includes.o: $(SRCDIR)/maje.h
-$(OBJDIR)/includes.o: $(SRCDIR)/includes.c
- $(CC) $(CFLAGS) -o $@ -c $(SRCDIR)/includes.c
-
$(BINDIR)/maje:
$(LD) $(LDFLAGS) -o $@ $(OBJDIR)/*.o $(LDLIBS)
diff --git a/make.c b/make.c
index 918a900..1e21332 100644
--- a/make.c
+++ b/make.c
@@ -21,12 +21,16 @@ static void make_header(FILE *makefile, const char *target)
fprintf(makefile, "SRCDIR=.\n");
fprintf(makefile, "OBJDIR=.\n");
fprintf(makefile, "BINDIR=$(OBJDIR)\n");
+ fprintf(makefile, "DESTDIR=/usr/local\n");
fprintf(makefile, "\n");
fprintf(makefile, "all: $(BINDIR)/%s\n\n", target);
fprintf(makefile, "clean:\n");
fprintf(makefile, "\trm -f $(BINDIR)/%s $(OBJDIR)/*.o\n\n", target);
+
+ fprintf(makefile, "install: $(BINDIR)/%s\n", target);
+ fprintf(makefile, "\tcp $(BINDIR)/%s $(DESTDIR)/bin\n\n", target);
}
static void add_object(FILE *makefile, const struct majefile *src, const char *target)