commit 33f0954c7b1759be2b421c45abce412923669f36 Author: tonton Th Date: Sat Mar 28 09:11:11 2020 +0100 initial import diff --git a/Makefile.boucle b/Makefile.boucle new file mode 100644 index 0000000..ecd3846 --- /dev/null +++ b/Makefile.boucle @@ -0,0 +1,341 @@ +################################################################## +# # +# Makefile pour "clients/serveur guinness" # +# # +# Thomas Nemeth. # +# # +################################################################## + + +################################################################## +# # +# PARTIE DES VARIABLES MODIFIABLES # +# VARIABLES MODIFICATIONS ALLOWED PART # +# # +################################################################## + +#***************************************************************** +# Répertoire d'installation +# + +# Edited for Debian GNU/Linux. +DESTDIR = /tmp +PREFIX = usr/local + +INSTALLDIR = $(DESTDIR)/$(PREFIX) +BINDIR = $(INSTALLDIR)/bin +# MANDIR = $(INSTALLDIR)/share/man/man1 +MANDIR = $(INSTALLDIR)/man/man1 +DATADIR = $(INSTALLDIR)/share/guinness-server + + +################################################################## +# # +# PARTIE DES VARIABLES NON MODIFIABLES ! # +# NO MODIFICATION BELOW THIS LINE ! # +# # +################################################################## + + +#***************************************************************** +# RÉCUPÉRATION DU NOM DU RÉPERTOIRE DE DONNÉES : +# + +### +# GNU Make : non portable +# OLDDATADIR = $(shell cat DATADIR) +# OLDDATADIR = `cat DATADIR` +REALDATADIR = $(PREFIX)/share/guinness-server +DOCDIR = $(DATADIR)/docs + + +#***************************************************************** +# TYPE D'OS : +# + +### +# GNU Make : non portable +# MY_OSTYPE = $(shell uname -s) +# MY_OSTYPE = `uname -s` + + +#***************************************************************** +# FLAGS : +# + +CFLAGS = +CPPFLAGS = -O2 -Wall +EXTRA_CPPFLAGS = -D${MY_OSTYPE} +LDFLAGS = + + +#***************************************************************** +# DEBUG MODE FLAGS : +# + +DEBUG_CFLAGS = -g3 +# DEBUG_CPPFLAGS = -DDEBUG +DEBUG_LDFLAGS = -g3 + + +#***************************************************************** +# BIBLIOTHÈQUES NÉCESSAIRES ET DIFFÉRENCIATION DES OS : +# +# Pour OpenBSD : CPPFLAGS += -I/local/OpenBSD/src/gnu/usr.bin/binutils/include + + +SYSLIBS = -lcrypt +SERVERLIBS = -lpthread + +### +# GNU Make : non portable + +# ifeq "$(MY_OSTYPE)" "SunOS" +# SYSLIBS += -lsocket -lnsl -lresolv +# CPPFLAGS += -D__BUILTIN_VA_ARG_INCR +# endif + +# ifeq "$(MY_OSTYPE)" "FreeBSD" +# SERVERLIBS = -lc_r +# else +# SERVERLIBS = -lpthread +# endif + +# OpenBSD : pour trouver getopt.h +# CPPFLAGS += -I/local/OpenBSD/src/gnu/usr.bin/binutils/include + +CLIENTLIBS = + + +#***************************************************************** +# PROGRAMS - INFOS - SOURCES - OBJECTS : +# + +PROG = guinness-server +PROG1 = guinnessd +PROG2 = guinness +### +# GNU Make : non portable +# VERSION = $(shell cat VERSION) +# VERSION = `cat VERSION` +CC = gcc +CP = cp +RM = rm +INSTALL = install +GZIP = gzip +SED = sed +SRCS1 = tools.c\ + xmem.c\ + printlog.c\ + lists.c\ + broadcast.c\ + drinks.c\ + clients.c\ + commands.c\ + guinnessd.c +SRCS2 = tools.c\ + xmem.c\ + guinness.c +OBJS1 = $(SRCS1:%.c=%.o) +OBJS2 = $(SRCS2:%.c=%.o) +DOCS = guinness-server.html\ + guinness.1\ + guinness-7bits.1\ + guinnessd.1\ + guinnessd-7bits.1\ + guinness-man.txt\ + guinness-man.man\ + guinnessd-man.txt\ + guinnessd-man.man +### +# GNU Make : non portable +# TODAY = $(shell date '+%d %B %Y') +# TODAY = `date '+%d %B %Y'` + + +################################################################## +# FICHIERS POUR LE PAQUETAGE CLIENT +# + +CLIENT = guinness-client +CLIENT_FILES = VERSION COPYING makedep CHANGES README BUGS TODO DATADIR guinness.* tools.* xmem.* guinness-server* config.h* defines.h + +################################################################## +# DÉFINITIONS GLOBALES +# + +DEFAULT_CPPFLAGS = $(CPPFLAGS) $(EXTRA_CPPFLAGS) +TOOLKIT_CPPFLAGS = + +ALL_CFLAGS = $(CFLAGS) $(GTK_CFLAGS) $(DEBUG_CFLAGS) +ALL_CPPFLAGS = $(DEFAULT_CPPFLAGS) $(TOOLKIT_CPPFLAGS) $(DEBUG_CPPFLAGS) +ALL_LIBS = $(SYSLIBS) $(XLIBS) $(DEBUG_LDFLAGS) + + +################################################################## +# RÈGLES +# +# Rajouts ? Idées : +# Pour une version texte: +# groff -man -Tlatin1 -P-u -P-b guinness-server.1 +# +# Pour une version html +# groff -man -Thtml guinness-server.1 +# + +.PHONY: all dep datadir documentation mostlyclean clean distclean package clientpack binaries packages htmlonline online softinstall install uninstall + +all: datadir config.h documentation $(PROG1) $(PROG2) + +dep: .dependencies + +datadir: + @if [ "$(OLDDATADIR)" != "$(REALDATADIR)" ]; then \ + echo "$(REALDATADIR)" > DATADIR ; \ + else \ + echo "Répertoire de configuration : $(DATADIR)" ; \ + fi + +config.h: config.h.in VERSION DATADIR + $(SED) -e "s/§VERSION§/$(VERSION)/g" \ + -e "s,§DATADIR§,$(REALDATADIR),g" \ + -e "s/§OSTYPE§/$(MY_OSTYPE)/g" \ + -e "s/§TODAY§/${TODAY}/g" $< > $@ + +documentation: $(DOCS) + +guinness-server.html: guinness-server.html.in guinnessd.1 guinness.1 VERSION + $(SED) -e "s/§VERSION§/$(VERSION)/g" -e "s/§TODAY§/${TODAY}/g" $< > $@ + +%.1: %.1.in VERSION + $(SED) -e "s/§VERSION§/$(VERSION)/g" \ + -e "s/§TODAY§/${TODAY}/g" \ + -e "s,§DATADIR§,$(REALDATADIR),g" $< > $@ + +%-7bits.1: %.1 + cat $< | tr "[éèêëàâäçùûüîïôöÀÉ«»]" "[eeeeaaacuuuiiooAE\"\"]" \ + | $(SED) -e 's/°/ degres /g' > $@ + +%-man.txt: %.1 + groff -man -Tlatin1 -P-u -P-b $< > $@ + +%-man.man: %.1 + groff -man -Tlatin1 $< > $@ +# man -l $< > $@ + +$(PROG1): config.h $(OBJS1) + $(CC) -o $(PROG1) $(OBJS1) $(LDFLAGS) $(ALL_LIBS) $(SERVERLIBS) + +$(PROG2): config.h $(OBJS2) + $(CC) -o $(PROG2) $(OBJS2) $(LDFLAGS) $(ALL_LIBS) $(CLIENTLIBS) + +%.o: %.c %.h + $(CC) -c $(ALL_CFLAGS) -I/usr/include $(ALL_CPPFLAGS) $< + +mostlyclean: + -$(RM) -f *~ *.o + -$(RM) -f core + -$(RM) -f boissons/*~ + +clean: mostlyclean + -$(RM) -f $(PROG1) + -$(RM) -f $(PROG2) + +distclean: clean + -$(RM) -f config.h + -$(RM) -f guinness-server.html + -$(RM) -f *.1 guinness*-man.txt guinness*-man.man + +mrproper: distclean + -$(RM) -f .dep* + -$(RM) -f .variables + +package: distclean + cd .. ; \ + $(CP) -R $(PROG) $(PROG)-$(VERSION) ; \ + tar -cf $(PROG)-$(VERSION).tar $(PROG)-$(VERSION)/ ; \ + $(GZIP) --best $(PROG)-$(VERSION).tar ; \ + $(RM) -rf $(PROG)-$(VERSION)/ + +devpack: mrproper + cd .. ; \ + tar -cf $(PROG)-dev.tar $(PROG)/ ; \ + $(GZIP) --best $(PROG)-dev.tar ; + +clientpack: clean + mkdir $(CLIENT)-$(VERSION) + $(CP) $(CLIENT_FILES) $(CLIENT)-$(VERSION)/ + sed -e 's/all:.*/all: $(PROG2)/' Makefile > $(CLIENT)-$(VERSION)/Makefile + tar -cf ../$(CLIENT)-$(VERSION).tar $(CLIENT)-$(VERSION)/ + $(GZIP) --best ../$(CLIENT)-$(VERSION).tar + -$(RM) -rf $(CLIENT)-$(VERSION) + +binaries: $(PROG1) $(PROG2) $(PROG1).1 $(PROG2).1 + $(MAKE) install DESTDIR=rootdir PREFIX=$(PREFIX) + cd rootdir ; \ + tar -cf ../../$(PROG)-bin-$(VERSION).tar * ; \ + $(GZIP) --best ../../$(PROG)-bin-$(VERSION).tar + -$(RM) -rf rootdir + +packages: binaries clientpack package + +htmlonline: $(PROG).html $(PROG1)-man.txt $(PROG1)-man.man $(PROG2)-man.txt $(PROG2)-man.man + -$(RM) -f $(HOME)/public_html/projets/$(PROG).html + -$(RM) -f $(HOME)/public_html/projets/$(PROG1)-man* + -$(RM) -f $(HOME)/public_html/projets/$(PROG2)-man* + $(CP) $(PROG).html $(HOME)/public_html/projets/ + $(CP) $(PROG1)-man* $(HOME)/public_html/projets/ + $(CP) $(PROG2)-man* $(HOME)/public_html/projets/ + +online: htmlonline packages + -$(RM) -f $(HOME)/public_html/projets/programmes/guinness* + mv ../guinness*.tar.gz $(HOME)/public_html/projets/programmes/ + $(CP) README $(HOME)/public_html/projets/programmes/$(PROG).README + $(CP) CHANGES $(HOME)/public_html/projets/programmes/$(PROG).CHANGES + $(CP) TODO $(HOME)/public_html/projets/programmes/$(PROG).TODO + $(CP) BUGS $(HOME)/public_html/projets/programmes/$(PROG).BUGS + +softinstall: + $(INSTALL) -d --mode=0755 $(BINDIR) + $(INSTALL) -s --mode=0755 ./$(PROG1) $(BINDIR) + $(INSTALL) -s --mode=0755 ./$(PROG2) $(BINDIR) + +install: softinstall + $(INSTALL) -d --mode=0755 $(MANDIR) + $(INSTALL) -d --mode=0755 $(DOCDIR) + $(INSTALL) -d --mode=0755 $(DATADIR)/boissons + $(INSTALL) --mode=0644 boissons/* $(DATADIR)/boissons + $(INSTALL) --mode=0644 ./$(PROG1).1 $(MANDIR) + $(INSTALL) --mode=0644 ./$(PROG2).1 $(MANDIR) + $(GZIP) --best $(MANDIR)/$(PROG1).1 + $(GZIP) --best $(MANDIR)/$(PROG2).1 + $(INSTALL) --mode=0644 README $(DOCDIR) + $(INSTALL) --mode=0644 VERSION $(DOCDIR) + $(INSTALL) --mode=0644 COPYING $(DOCDIR) + $(INSTALL) --mode=0644 BUGS $(DOCDIR) + +uninstall: + -$(RM) $(BINDIR)/$(PROG1) + -$(RM) $(BINDIR)/$(PROG2) + -$(RM) $(MANDIR)/$(PROG1).1.gz + -$(RM) $(MANDIR)/$(PROG2).1.gz + rmdir $(DOCDIR) + rmdir $(DATADIR)/boissons + rmdir $(DATADIR) + +.variables: fichier_qui_n_existe_pas + @:> .variables + @echo "OLDDATADIR = `cat DATADIR`" >> .variables + @echo "MY_OSTYPE = `uname -s`" >> .variables + @echo "VERSION = `cat VERSION`" >> .variables + @echo "TODAY = `date '+%d %B %Y'`" >> .variables + +fichier_qui_n_existe_pas: + +include .variables + +.dependencies: + @echo "Making dependencies..." + @./makedep -s -m > .dependencies + +include .dependencies diff --git a/README.md b/README.md new file mode 100644 index 0000000..63497f0 --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +# Guinness Server + +## Origine : + +[Official Website](http://tnemeth.free.fr/projets/guinness-server.html) + +La version d'origine a un **gros** souci : +le `Makefile` tourne désepérement +en boucle ! J'ai donc décidé, pour occuper mes longues journées de +retraite sanitaire, de sortir la disqueuse et de tenter de trouver +le bug. + +## Methodologie : + +Pour commencer, je vais utiliser un mélange de [rache](https://la-rache.com/) +et de [poudre verte](https://poudreverte.org/), additionné d'un peu de +jus de citron pour le goût... + + + diff --git a/boucle-de-make.txt b/boucle-de-make.txt new file mode 100644 index 0000000..ee2c1ca --- /dev/null +++ b/boucle-de-make.txt @@ -0,0 +1,500 @@ +GNU Make 4.2.1 +Built for x86_64-pc-linux-gnu +Copyright (C) 1988-2016 Free Software Foundation, Inc. +License GPLv3+: GNU GPL version 3 or later +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. +Reading makefiles... +Reading makefile 'Makefile'... +Reading makefile '.variables' (search path) (no ~ expansion)... +Reading makefile '.dependencies' (search path) (no ~ expansion)... +Reading makefile '.dep.broadcast.c' (search path) (no ~ expansion)... +Reading makefile '.dep.clients.c' (search path) (no ~ expansion)... +Reading makefile '.dep.commands.c' (search path) (no ~ expansion)... +Reading makefile '.dep.drinks.c' (search path) (no ~ expansion)... +Reading makefile '.dep.guinness.c' (search path) (no ~ expansion)... +Reading makefile '.dep.guinnessd.c' (search path) (no ~ expansion)... +Reading makefile '.dep.lists.c' (search path) (no ~ expansion)... +Reading makefile '.dep.printlog.c' (search path) (no ~ expansion)... +Reading makefile '.dep.tools.c' (search path) (no ~ expansion)... +Reading makefile '.dep.xmem.c' (search path) (no ~ expansion)... +Updating makefiles.... + Considering target file '.dep.xmem.c'. + Looking for an implicit rule for '.dep.xmem.c'. + Trying pattern rule with stem 'xmem'. + Trying implicit prerequisite 'xmem.c'. + Found an implicit rule for '.dep.xmem.c'. + Considering target file 'xmem.c'. + Looking for an implicit rule for 'xmem.c'. + Trying pattern rule with stem 'xmem'. + Trying implicit prerequisite 'xmem.y'. + Trying pattern rule with stem 'xmem'. + Trying implicit prerequisite 'xmem.l'. + Trying pattern rule with stem 'xmem'. + Trying implicit prerequisite 'xmem.w'. + Trying pattern rule with stem 'xmem'. + Trying implicit prerequisite 'xmem.w'. + Trying pattern rule with stem 'xmem.c'. + Trying implicit prerequisite 'xmem.c,v'. + Trying pattern rule with stem 'xmem.c'. + Trying implicit prerequisite 'RCS/xmem.c,v'. + Trying pattern rule with stem 'xmem.c'. + Trying implicit prerequisite 'RCS/xmem.c'. + Trying pattern rule with stem 'xmem.c'. + Trying implicit prerequisite 's.xmem.c'. + Trying pattern rule with stem 'xmem.c'. + Trying implicit prerequisite 'SCCS/s.xmem.c'. + Trying pattern rule with stem 'xmem'. + Trying implicit prerequisite 'xmem.y'. + Looking for a rule with intermediate file 'xmem.y'. + Avoiding implicit rule recursion. + Trying pattern rule with stem 'xmem.y'. + Trying implicit prerequisite 'xmem.y,v'. + Trying pattern rule with stem 'xmem.y'. + Trying implicit prerequisite 'RCS/xmem.y,v'. + Trying pattern rule with stem 'xmem.y'. + Trying implicit prerequisite 'RCS/xmem.y'. + Trying pattern rule with stem 'xmem.y'. + Trying implicit prerequisite 's.xmem.y'. + Trying pattern rule with stem 'xmem.y'. + Trying implicit prerequisite 'SCCS/s.xmem.y'. + Trying pattern rule with stem 'xmem'. + Trying implicit prerequisite 'xmem.l'. + Looking for a rule with intermediate file 'xmem.l'. + Avoiding implicit rule recursion. + Trying pattern rule with stem 'xmem.l'. + Trying implicit prerequisite 'xmem.l,v'. + Trying pattern rule with stem 'xmem.l'. + Trying implicit prerequisite 'RCS/xmem.l,v'. + Trying pattern rule with stem 'xmem.l'. + Trying implicit prerequisite 'RCS/xmem.l'. + Trying pattern rule with stem 'xmem.l'. + Trying implicit prerequisite 's.xmem.l'. + Trying pattern rule with stem 'xmem.l'. + Trying implicit prerequisite 'SCCS/s.xmem.l'. + Trying pattern rule with stem 'xmem'. + Trying implicit prerequisite 'xmem.w'. + Looking for a rule with intermediate file 'xmem.w'. + Avoiding implicit rule recursion. + Trying pattern rule with stem 'xmem.w'. + Trying implicit prerequisite 'xmem.w,v'. + Trying pattern rule with stem 'xmem.w'. + Trying implicit prerequisite 'RCS/xmem.w,v'. + Trying pattern rule with stem 'xmem.w'. + Trying implicit prerequisite 'RCS/xmem.w'. + Trying pattern rule with stem 'xmem.w'. + Trying implicit prerequisite 's.xmem.w'. + Trying pattern rule with stem 'xmem.w'. + Trying implicit prerequisite 'SCCS/s.xmem.w'. + Trying pattern rule with stem 'xmem'. + Rejecting impossible implicit prerequisite 'xmem.w'. + No implicit rule found for 'xmem.c'. + Finished prerequisites of target file 'xmem.c'. + No need to remake target 'xmem.c'. + Finished prerequisites of target file '.dep.xmem.c'. + Prerequisite 'xmem.c' is older than target '.dep.xmem.c'. + No need to remake target '.dep.xmem.c'. + Considering target file '.dep.tools.c'. + Looking for an implicit rule for '.dep.tools.c'. + Trying pattern rule with stem 'tools'. + Trying implicit prerequisite 'tools.c'. + Found an implicit rule for '.dep.tools.c'. + Considering target file 'tools.c'. + Looking for an implicit rule for 'tools.c'. + Trying pattern rule with stem 'tools'. + Trying implicit prerequisite 'tools.y'. + Trying pattern rule with stem 'tools'. + Trying implicit prerequisite 'tools.l'. + Trying pattern rule with stem 'tools'. + Trying implicit prerequisite 'tools.w'. + Trying pattern rule with stem 'tools'. + Trying implicit prerequisite 'tools.w'. + Trying pattern rule with stem 'tools.c'. + Trying implicit prerequisite 'tools.c,v'. + Trying pattern rule with stem 'tools.c'. + Trying implicit prerequisite 'RCS/tools.c,v'. + Trying pattern rule with stem 'tools.c'. + Trying implicit prerequisite 'RCS/tools.c'. + Trying pattern rule with stem 'tools.c'. + Trying implicit prerequisite 's.tools.c'. + Trying pattern rule with stem 'tools.c'. + Trying implicit prerequisite 'SCCS/s.tools.c'. + Trying pattern rule with stem 'tools'. + Trying implicit prerequisite 'tools.y'. + Looking for a rule with intermediate file 'tools.y'. + Avoiding implicit rule recursion. + Trying pattern rule with stem 'tools.y'. + Trying implicit prerequisite 'tools.y,v'. + Trying pattern rule with stem 'tools.y'. + Trying implicit prerequisite 'RCS/tools.y,v'. + Trying pattern rule with stem 'tools.y'. + Trying implicit prerequisite 'RCS/tools.y'. + Trying pattern rule with stem 'tools.y'. + Trying implicit prerequisite 's.tools.y'. + Trying pattern rule with stem 'tools.y'. + Trying implicit prerequisite 'SCCS/s.tools.y'. + Trying pattern rule with stem 'tools'. + Trying implicit prerequisite 'tools.l'. + Looking for a rule with intermediate file 'tools.l'. + Avoiding implicit rule recursion. + Trying pattern rule with stem 'tools.l'. + Trying implicit prerequisite 'tools.l,v'. + Trying pattern rule with stem 'tools.l'. + Trying implicit prerequisite 'RCS/tools.l,v'. + Trying pattern rule with stem 'tools.l'. + Trying implicit prerequisite 'RCS/tools.l'. + Trying pattern rule with stem 'tools.l'. + Trying implicit prerequisite 's.tools.l'. + Trying pattern rule with stem 'tools.l'. + Trying implicit prerequisite 'SCCS/s.tools.l'. + Trying pattern rule with stem 'tools'. + Trying implicit prerequisite 'tools.w'. + Looking for a rule with intermediate file 'tools.w'. + Avoiding implicit rule recursion. + Trying pattern rule with stem 'tools.w'. + Trying implicit prerequisite 'tools.w,v'. + Trying pattern rule with stem 'tools.w'. + Trying implicit prerequisite 'RCS/tools.w,v'. + Trying pattern rule with stem 'tools.w'. + Trying implicit prerequisite 'RCS/tools.w'. + Trying pattern rule with stem 'tools.w'. + Trying implicit prerequisite 's.tools.w'. + Trying pattern rule with stem 'tools.w'. + Trying implicit prerequisite 'SCCS/s.tools.w'. + Trying pattern rule with stem 'tools'. + Rejecting impossible implicit prerequisite 'tools.w'. + No implicit rule found for 'tools.c'. + Finished prerequisites of target file 'tools.c'. + No need to remake target 'tools.c'. + Finished prerequisites of target file '.dep.tools.c'. + Prerequisite 'tools.c' is older than target '.dep.tools.c'. + No need to remake target '.dep.tools.c'. + Considering target file '.dep.printlog.c'. + Looking for an implicit rule for '.dep.printlog.c'. + Trying pattern rule with stem 'printlog'. + Trying implicit prerequisite 'printlog.c'. + Found an implicit rule for '.dep.printlog.c'. + Considering target file 'printlog.c'. + Looking for an implicit rule for 'printlog.c'. + Trying pattern rule with stem 'printlog'. + Trying implicit prerequisite 'printlog.y'. + Trying pattern rule with stem 'printlog'. + Trying implicit prerequisite 'printlog.l'. + Trying pattern rule with stem 'printlog'. + Trying implicit prerequisite 'printlog.w'. + Trying pattern rule with stem 'printlog'. + Trying implicit prerequisite 'printlog.w'. + Trying pattern rule with stem 'printlog.c'. + Trying implicit prerequisite 'printlog.c,v'. + Trying pattern rule with stem 'printlog.c'. + Trying implicit prerequisite 'RCS/printlog.c,v'. + Trying pattern rule with stem 'printlog.c'. + Trying implicit prerequisite 'RCS/printlog.c'. + Trying pattern rule with stem 'printlog.c'. + Trying implicit prerequisite 's.printlog.c'. + Trying pattern rule with stem 'printlog.c'. + Trying implicit prerequisite 'SCCS/s.printlog.c'. + Trying pattern rule with stem 'printlog'. + Trying implicit prerequisite 'printlog.y'. + Looking for a rule with intermediate file 'printlog.y'. + Avoiding implicit rule recursion. + Trying pattern rule with stem 'printlog.y'. + Trying implicit prerequisite 'printlog.y,v'. + Trying pattern rule with stem 'printlog.y'. + Trying implicit prerequisite 'RCS/printlog.y,v'. + Trying pattern rule with stem 'printlog.y'. + Trying implicit prerequisite 'RCS/printlog.y'. + Trying pattern rule with stem 'printlog.y'. + Trying implicit prerequisite 's.printlog.y'. + Trying pattern rule with stem 'printlog.y'. + Trying implicit prerequisite 'SCCS/s.printlog.y'. + Trying pattern rule with stem 'printlog'. + Trying implicit prerequisite 'printlog.l'. + Looking for a rule with intermediate file 'printlog.l'. + Avoiding implicit rule recursion. + Trying pattern rule with stem 'printlog.l'. + Trying implicit prerequisite 'printlog.l,v'. + Trying pattern rule with stem 'printlog.l'. + Trying implicit prerequisite 'RCS/printlog.l,v'. + Trying pattern rule with stem 'printlog.l'. + Trying implicit prerequisite 'RCS/printlog.l'. + Trying pattern rule with stem 'printlog.l'. + Trying implicit prerequisite 's.printlog.l'. + Trying pattern rule with stem 'printlog.l'. + Trying implicit prerequisite 'SCCS/s.printlog.l'. + Trying pattern rule with stem 'printlog'. + Trying implicit prerequisite 'printlog.w'. + Looking for a rule with intermediate file 'printlog.w'. + Avoiding implicit rule recursion. + Trying pattern rule with stem 'printlog.w'. + Trying implicit prerequisite 'printlog.w,v'. + Trying pattern rule with stem 'printlog.w'. + Trying implicit prerequisite 'RCS/printlog.w,v'. + Trying pattern rule with stem 'printlog.w'. + Trying implicit prerequisite 'RCS/printlog.w'. + Trying pattern rule with stem 'printlog.w'. + Trying implicit prerequisite 's.printlog.w'. + Trying pattern rule with stem 'printlog.w'. + Trying implicit prerequisite 'SCCS/s.printlog.w'. + Trying pattern rule with stem 'printlog'. + Rejecting impossible implicit prerequisite 'printlog.w'. + No implicit rule found for 'printlog.c'. + Finished prerequisites of target file 'printlog.c'. + No need to remake target 'printlog.c'. + Finished prerequisites of target file '.dep.printlog.c'. + Prerequisite 'printlog.c' is older than target '.dep.printlog.c'. + No need to remake target '.dep.printlog.c'. + Considering target file '.dep.lists.c'. + Looking for an implicit rule for '.dep.lists.c'. + Trying pattern rule with stem 'lists'. + Trying implicit prerequisite 'lists.c'. + Found an implicit rule for '.dep.lists.c'. + Considering target file 'lists.c'. + Looking for an implicit rule for 'lists.c'. + Trying pattern rule with stem 'lists'. + Trying implicit prerequisite 'lists.y'. + Trying pattern rule with stem 'lists'. + Trying implicit prerequisite 'lists.l'. + Trying pattern rule with stem 'lists'. + Trying implicit prerequisite 'lists.w'. + Trying pattern rule with stem 'lists'. + Trying implicit prerequisite 'lists.w'. + Trying pattern rule with stem 'lists.c'. + Trying implicit prerequisite 'lists.c,v'. + Trying pattern rule with stem 'lists.c'. + Trying implicit prerequisite 'RCS/lists.c,v'. + Trying pattern rule with stem 'lists.c'. + Trying implicit prerequisite 'RCS/lists.c'. + Trying pattern rule with stem 'lists.c'. + Trying implicit prerequisite 's.lists.c'. + Trying pattern rule with stem 'lists.c'. + Trying implicit prerequisite 'SCCS/s.lists.c'. + Trying pattern rule with stem 'lists'. + Trying implicit prerequisite 'lists.y'. + Looking for a rule with intermediate file 'lists.y'. + Avoiding implicit rule recursion. + Trying pattern rule with stem 'lists.y'. + Trying implicit prerequisite 'lists.y,v'. + Trying pattern rule with stem 'lists.y'. + Trying implicit prerequisite 'RCS/lists.y,v'. + Trying pattern rule with stem 'lists.y'. + Trying implicit prerequisite 'RCS/lists.y'. + Trying pattern rule with stem 'lists.y'. + Trying implicit prerequisite 's.lists.y'. + Trying pattern rule with stem 'lists.y'. + Trying implicit prerequisite 'SCCS/s.lists.y'. + Trying pattern rule with stem 'lists'. + Trying implicit prerequisite 'lists.l'. + Looking for a rule with intermediate file 'lists.l'. + Avoiding implicit rule recursion. + Trying pattern rule with stem 'lists.l'. + Trying implicit prerequisite 'lists.l,v'. + Trying pattern rule with stem 'lists.l'. + Trying implicit prerequisite 'RCS/lists.l,v'. + Trying pattern rule with stem 'lists.l'. + Trying implicit prerequisite 'RCS/lists.l'. + Trying pattern rule with stem 'lists.l'. + Trying implicit prerequisite 's.lists.l'. + Trying pattern rule with stem 'lists.l'. + Trying implicit prerequisite 'SCCS/s.lists.l'. + Trying pattern rule with stem 'lists'. + Trying implicit prerequisite 'lists.w'. + Looking for a rule with intermediate file 'lists.w'. + Avoiding implicit rule recursion. + Trying pattern rule with stem 'lists.w'. + Trying implicit prerequisite 'lists.w,v'. + Trying pattern rule with stem 'lists.w'. + Trying implicit prerequisite 'RCS/lists.w,v'. + Trying pattern rule with stem 'lists.w'. + Trying implicit prerequisite 'RCS/lists.w'. + Trying pattern rule with stem 'lists.w'. + Trying implicit prerequisite 's.lists.w'. + Trying pattern rule with stem 'lists.w'. + Trying implicit prerequisite 'SCCS/s.lists.w'. + Trying pattern rule with stem 'lists'. + Rejecting impossible implicit prerequisite 'lists.w'. + No implicit rule found for 'lists.c'. + Finished prerequisites of target file 'lists.c'. + No need to remake target 'lists.c'. + Finished prerequisites of target file '.dep.lists.c'. + Prerequisite 'lists.c' is older than target '.dep.lists.c'. + No need to remake target '.dep.lists.c'. + Considering target file '.dep.guinnessd.c'. + Looking for an implicit rule for '.dep.guinnessd.c'. + Trying pattern rule with stem 'guinnessd'. + Trying implicit prerequisite 'guinnessd.c'. + Found an implicit rule for '.dep.guinnessd.c'. + Considering target file 'guinnessd.c'. + Looking for an implicit rule for 'guinnessd.c'. + Trying pattern rule with stem 'guinnessd'. + Trying implicit prerequisite 'guinnessd.y'. + Trying pattern rule with stem 'guinnessd'. + Trying implicit prerequisite 'guinnessd.l'. + Trying pattern rule with stem 'guinnessd'. + Trying implicit prerequisite 'guinnessd.w'. + Trying pattern rule with stem 'guinnessd'. + Trying implicit prerequisite 'guinnessd.w'. + Trying pattern rule with stem 'guinnessd.c'. + Trying implicit prerequisite 'guinnessd.c,v'. + Trying pattern rule with stem 'guinnessd.c'. + Trying implicit prerequisite 'RCS/guinnessd.c,v'. + Trying pattern rule with stem 'guinnessd.c'. + Trying implicit prerequisite 'RCS/guinnessd.c'. + Trying pattern rule with stem 'guinnessd.c'. + Trying implicit prerequisite 's.guinnessd.c'. + Trying pattern rule with stem 'guinnessd.c'. + Trying implicit prerequisite 'SCCS/s.guinnessd.c'. + Trying pattern rule with stem 'guinnessd'. + Trying implicit prerequisite 'guinnessd.y'. + Looking for a rule with intermediate file 'guinnessd.y'. + Avoiding implicit rule recursion. + Trying pattern rule with stem 'guinnessd.y'. + Trying implicit prerequisite 'guinnessd.y,v'. + Trying pattern rule with stem 'guinnessd.y'. + Trying implicit prerequisite 'RCS/guinnessd.y,v'. + Trying pattern rule with stem 'guinnessd.y'. + Trying implicit prerequisite 'RCS/guinnessd.y'. + Trying pattern rule with stem 'guinnessd.y'. + Trying implicit prerequisite 's.guinnessd.y'. + Trying pattern rule with stem 'guinnessd.y'. + Trying implicit prerequisite 'SCCS/s.guinnessd.y'. + Trying pattern rule with stem 'guinnessd'. + Trying implicit prerequisite 'guinnessd.l'. + Looking for a rule with intermediate file 'guinnessd.l'. + Avoiding implicit rule recursion. + Trying pattern rule with stem 'guinnessd.l'. + Trying implicit prerequisite 'guinnessd.l,v'. + Trying pattern rule with stem 'guinnessd.l'. + Trying implicit prerequisite 'RCS/guinnessd.l,v'. + Trying pattern rule with stem 'guinnessd.l'. + Trying implicit prerequisite 'RCS/guinnessd.l'. + Trying pattern rule with stem 'guinnessd.l'. + Trying implicit prerequisite 's.guinnessd.l'. + Trying pattern rule with stem 'guinnessd.l'. + Trying implicit prerequisite 'SCCS/s.guinnessd.l'. + Trying pattern rule with stem 'guinnessd'. + Trying implicit prerequisite 'guinnessd.w'. + Looking for a rule with intermediate file 'guinnessd.w'. + Avoiding implicit rule recursion. + Trying pattern rule with stem 'guinnessd.w'. + Trying implicit prerequisite 'guinnessd.w,v'. + Trying pattern rule with stem 'guinnessd.w'. + Trying implicit prerequisite 'RCS/guinnessd.w,v'. + Trying pattern rule with stem 'guinnessd.w'. + Trying implicit prerequisite 'RCS/guinnessd.w'. + Trying pattern rule with stem 'guinnessd.w'. + Trying implicit prerequisite 's.guinnessd.w'. + Trying pattern rule with stem 'guinnessd.w'. + Trying implicit prerequisite 'SCCS/s.guinnessd.w'. + Trying pattern rule with stem 'guinnessd'. + Rejecting impossible implicit prerequisite 'guinnessd.w'. + No implicit rule found for 'guinnessd.c'. + Finished prerequisites of target file 'guinnessd.c'. + No need to remake target 'guinnessd.c'. + Finished prerequisites of target file '.dep.guinnessd.c'. + Prerequisite 'guinnessd.c' is older than target '.dep.guinnessd.c'. + No need to remake target '.dep.guinnessd.c'. + Considering target file '.dep.guinness.c'. + Looking for an implicit rule for '.dep.guinness.c'. + Trying pattern rule with stem 'guinness'. + Trying implicit prerequisite 'guinness.c'. + Found an implicit rule for '.dep.guinness.c'. + Considering target file 'guinness.c'. + Looking for an implicit rule for 'guinness.c'. + Trying pattern rule with stem 'guinness'. + Trying implicit prerequisite 'guinness.y'. + Trying pattern rule with stem 'guinness'. + Trying implicit prerequisite 'guinness.l'. + Trying pattern rule with stem 'guinness'. + Trying implicit prerequisite 'guinness.w'. + Trying pattern rule with stem 'guinness'. + Trying implicit prerequisite 'guinness.w'. + Trying pattern rule with stem 'guinness.c'. + Trying implicit prerequisite 'guinness.c,v'. + Trying pattern rule with stem 'guinness.c'. + Trying implicit prerequisite 'RCS/guinness.c,v'. + Trying pattern rule with stem 'guinness.c'. + Trying implicit prerequisite 'RCS/guinness.c'. + Trying pattern rule with stem 'guinness.c'. + Trying implicit prerequisite 's.guinness.c'. + Trying pattern rule with stem 'guinness.c'. + Trying implicit prerequisite 'SCCS/s.guinness.c'. + Trying pattern rule with stem 'guinness'. + Trying implicit prerequisite 'guinness.y'. + Looking for a rule with intermediate file 'guinness.y'. + Avoiding implicit rule recursion. + Trying pattern rule with stem 'guinness.y'. + Trying implicit prerequisite 'guinness.y,v'. + Trying pattern rule with stem 'guinness.y'. + Trying implicit prerequisite 'RCS/guinness.y,v'. + Trying pattern rule with stem 'guinness.y'. + Trying implicit prerequisite 'RCS/guinness.y'. + Trying pattern rule with stem 'guinness.y'. + Trying implicit prerequisite 's.guinness.y'. + Trying pattern rule with stem 'guinness.y'. + Trying implicit prerequisite 'SCCS/s.guinness.y'. + Trying pattern rule with stem 'guinness'. + Trying implicit prerequisite 'guinness.l'. + Looking for a rule with intermediate file 'guinness.l'. + Avoiding implicit rule recursion. + Trying pattern rule with stem 'guinness.l'. + Trying implicit prerequisite 'guinness.l,v'. + Trying pattern rule with stem 'guinness.l'. + Trying implicit prerequisite 'RCS/guinness.l,v'. + Trying pattern rule with stem 'guinness.l'. + Trying implicit prerequisite 'RCS/guinness.l'. + Trying pattern rule with stem 'guinness.l'. + Trying implicit prerequisite 's.guinness.l'. + Trying pattern rule with stem 'guinness.l'. + Trying implicit prerequisite 'SCCS/s.guinness.l'. + Trying pattern rule with stem 'guinness'. + Trying implicit prerequisite 'guinness.w'. + Looking for a rule with intermediate file 'guinness.w'. + Avoiding implicit rule recursion. + Trying pattern rule with stem 'guinness.w'. + Trying implicit prerequisite 'guinness.w,v'. + Trying pattern rule with stem 'guinness.w'. + Trying implicit prerequisite 'RCS/guinness.w,v'. + Trying pattern rule with stem 'guinness.w'. + Trying implicit prerequisite 'RCS/guinness.w'. + Trying pattern rule with stem 'guinness.w'. + Trying implicit prerequisite 's.guinness.w'. + Trying pattern rule with stem 'guinness.w'. + Trying implicit prerequisite 'SCCS/s.guinness.w'. + Trying pattern rule with stem 'guinness'. + Rejecting impossible implicit prerequisite 'guinness.w'. + No implicit rule found for 'guinness.c'. + Finished prerequisites of target file 'guinness.c'. + No need to remake target 'guinness.c'. + Finished prerequisites of target file '.dep.guinness.c'. + Prerequisite 'guinness.c' is older than target '.dep.guinness.c'. + No need to remake target '.dep.guinness.c'. + Considering target file '.dep.drinks.c'. + Looking for an implicit rule for '.dep.drinks.c'. + Trying pattern rule with stem 'drinks'. + Trying implicit prerequisite 'drinks.c'. + Found an implicit rule for '.dep.drinks.c'. + Considering target file 'drinks.c'. + Looking for an implicit rule for 'drinks.c'. + Trying pattern rule with stem 'drinks'. + Trying implicit prerequisite 'drinks.y'. + Trying pattern rule with stem 'drinks'. + Trying implicit prerequisite 'drinks.l'. + Trying pattern rule with stem 'drinks'. + Trying implicit prerequisite 'drinks.w'. + Trying pattern rule with stem 'drinks'. + Trying implicit prerequisite 'drinks.w'. + Trying pattern rule with stem 'drinks.c'. + Trying implicit prerequisite 'drinks.c,v'. + Trying pattern rule with stem 'drinks.c'. + Trying implicit prerequisite 'RCS/drinks.c,v'. + Trying pattern rule with stem 'drinks.c'. + Trying implicit prerequisite 'RCS/drinks.c'. + Trying pattern rule with stem 'drinks.c'. + Trying implicit prerequisite 's.drinks.c'. + Trying pattern rule with stem 'drinks.c'. + Trying implicit prerequisite 'SCCS/s.drinks.c'. + Trying pattern rule with stem 'drinks'. + Trying implicit prerequisite 'drinks.y'. + Looking for a rule with intermediate file 'drinks.y'. + Avoiding implicit rule recursion.