From 0fb5175af83fe538df3734570988d2efb1544c74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juhani=20Krekel=C3=A4?= Date: Sun, 18 Apr 2021 19:59:51 +0300 Subject: [PATCH] Get bc(1) to build --- .gitignore | 3 +++ Makefile | 27 +++++++++++++++++++++------ 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index edbbc9a..3b22bf9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ dc/dc +bc/bc +bc/y.tab.c +bc/bc.c diff --git a/Makefile b/Makefile index d9f781b..f56e142 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,5 @@ +SED ?= sed + DESTDIR ?= PREFIX ?= /usr/local EXEC_PREFIX ?= $(PREFIX) @@ -5,9 +7,11 @@ BINDIR ?= $(EXEC_PREFIX)/bin LIBEXECDIR ?= $(EXEC_PREFIX)/libexec DATAROOTDIR ?= $(PREFIX)/share MANDIR ?= $(DATAROOTDIR)/man +BCDATADIR ?= $(DATAROOTDIR)/bc -BINS := dc/dc -MAN1S := dc/dc.1 +BINS := dc/dc bc/bc +MAN1S := dc/dc.1 bc/bc.1 +BCDATAS := bc/lib.b .SUFFIXES: .SUFFIXES: .c .o @@ -19,18 +23,29 @@ all: $(BINS) dc/dc: dc/dc.c dc/dc.h $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) $< $(LDFLAGS) +bc/bc: bc/bc.c + $(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -DDC='"$(BINDIR)/dc"' -DLIBB='"$(BCDATADIR)/lib.b"' $< $(LDFLAGS) + +bc/bc.c: bc/y.tab.c bc/yyval.sed + $(SED) -f bc/yyval.sed $< > $@ + +bc/y.tab.c: bc/bc.y + cd bc && yacc bc.y + .c.o: $(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $< -install: $(BINS) $(MAN1S) +install: $(BINS) $(MAN1S) $(BCDATAS) install -D -m 755 -t '$(DESTDIR)$(BINDIR)' $(BINS) install -D -m 644 -t '$(DESTDIR)$(MANDIR)/man1' $(MAN1S) + install -D -m 644 -t '$(DESTDIR)$(BCDATADIR)' $(BCDATAS) uninstall: - cd $(DESTDIR)$(BINDIR) && rm $(BINS) - cd $(DESTDIR)$(MANDIR)/man1 && rm $(MAN1S) + cd '$(DESTDIR)$(BINDIR)' && rm $(BINS) + cd '$(DESTDIR)$(MANDIR)/man1' && rm $(MAN1S) + cd '$(DESTDIR)$(BCDATADIR)' && rm $(BCDATAS) clean: - rm -f $(BINS) + rm -f $(BINS) bc/y.tab.c bc/bc.c distclean: clean