Get bc(1) to build

This commit is contained in:
Juhani Krekelä 2021-04-18 19:59:51 +03:00
parent d493e58131
commit 0fb5175af8
2 changed files with 24 additions and 6 deletions

3
.gitignore vendored
View File

@ -1 +1,4 @@
dc/dc
bc/bc
bc/y.tab.c
bc/bc.c

View File

@ -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