Merge pull request #19 from chewi/yacc

Adjust yacc builds to support the original yacc (as opposed to bison)
This commit is contained in:
Adrian Chadd
2023-12-21 22:13:14 -08:00
committed by GitHub
6 changed files with 23 additions and 68 deletions

10
.gitignore vendored
View File

@@ -2,7 +2,9 @@
*.o
Makefile
/Filesystem
/Keyboard
/Launcher
/Xinitrc
/Xsession
/Xsession2
@@ -13,11 +15,11 @@ Makefile
/config_util
/configure
/executecmd
/gram.c
/gram.h
/gram.tab.c
/gram.tab.h
/kbdlexer.c
/kbdmodule.c
/kbdmodule.h
/kbdmodule.tab.c
/kbdmodule.tab.h
/lex.c
/ppmtoinfo
/requestchoice

View File

@@ -28,17 +28,17 @@ MODULES = Background Keyboard Background_resize Background_stretch \
def_tool.info Filesystem Launcher
OBJS = main.o screen.o client.o frame.o icc.o \
icon.o menu.o diskobject.o gram.o lex.o rc.o \
icon.o menu.o diskobject.o gram.tab.o lex.o rc.o \
module.o
SRCS = main.c screen.c client.c frame.c icc.c \
icon.c menu.c diskobject.c gram.c lex.c rc.c \
icon.c menu.c diskobject.c gram.tab.c lex.c rc.c \
module.c \
requestchoice.c executecmd.c kbdmodule.c kbdlexer.c \
requestchoice.c executecmd.c kbdmodule.tab.c kbdlexer.c \
config_util.c launchermodule.c
DISTFILES = README.md MODULES.md INSTALL LICENSE amiwm.1 \
configure configure.ac Makefile.in install-sh smakefile scoptions \
configure configure.ac Makefile.in install-sh \
*.[chly] system.amiwmrc.in def_*.info *.map \
Background Background_resize Background_resize_norepeat \
Background_stretch Launcher Xresources.amiwm.in Amilogo.?m \
@@ -66,7 +66,7 @@ lib_clean:
menu.o: menu.c
$(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -DAMIWM_HOME=\"$(AMIWM_HOME)\" $<
rc.o: rc.c gram.h
rc.o: rc.c gram.tab.h
$(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -DAMIWM_HOME=\"$(AMIWM_HOME)\" $<
diskobject.o: diskobject.c
@@ -78,18 +78,18 @@ filesystem.o: joke_fs.c
ppmtoinfo.o: ppmtoinfo.c
$(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -DAMIWM_HOME=\"$(AMIWM_HOME)\" $<
gram.h gram.c: gram.y
$(YACC) --defines=gram.h --output=gram.c $<
%.tab.c %.tab.h: %.y
$(YACC) -b $* -d $<
lex.c: lex.l
$(LEX) -t $< > lex.c
kbdmodule.h kbdmodule.c: kbdmodule.y
$(YACC) --defines=kbdmodule.h --output=kbdmodule.c $<
kbdlexer.c: kbdlexer.l
$(LEX) -t $< > kbdlexer.c
lex.o: gram.tab.h
kbdlexer.o: kbdmodule.tab.h
install: $(PROGS) $(MODULES) system.amiwmrc Xsession Xsession2 Xinitrc amiwm-init
-mkdir -p $(DESTDIR)$(AMIWM_HOME)
-mkdir -p $(DESTDIR)$(AMIWM_MODULES)
@@ -163,8 +163,8 @@ executecmd: executecmd.o $(LIBAMI)
Filesystem: filesystem.o $(LIBAMI)
$(CC) $(LDFLAGS) -o Filesystem filesystem.o $(LIBS)
Keyboard: kbdmodule.o kbdlexer.o $(LIBAMI)
$(CC) $(LDFLAGS) -o Keyboard kbdmodule.o kbdlexer.o $(LIBS)
Keyboard: kbdmodule.tab.o kbdlexer.o $(LIBAMI)
$(CC) $(LDFLAGS) -o Keyboard kbdmodule.tab.o kbdlexer.o $(LIBS)
Battery: battery_module.o $(LIBAMI)
$(CC) $(LDFLAGS) -o Battery battery_module.o $(LIBS)
@@ -180,8 +180,8 @@ localetest: localetest.o $(LIBAMI)
clean: lib_clean
$(RM) core $(PROGS) $(LIBAMI) Keyboard Battery Launcher *.o
$(RM) lex.yy.c lex.c y.tab.c y.tab.h gram.h gram.c
$(RM) kbdlexer.c kbdmodule.h kbdmodule.c
$(RM) lex.yy.c lex.c gram.tab.h gram.tab.c
$(RM) kbdlexer.c kbdmodule.tab.h kbdmodule.tab.c
$(RM) config.log
distclean: clean

View File

@@ -4,7 +4,7 @@
#include <string.h>
#include "libami.h"
#include "kbdmodule.h"
#include "kbdmodule.tab.h"
unsigned char *inptr;
extern char *progname;

2
lex.l
View File

@@ -1,7 +1,7 @@
%option noyywrap
%{
#include <stdio.h>
#include "gram.h"
#include "gram.tab.h"
extern char *progname;
extern int ParseError;
extern FILE *rcfile;

2
rc.c
View File

@@ -7,7 +7,7 @@
#include "prefs.h"
#include "drawinfo.h"
#include "screen.h"
#include "gram.h"
#include "gram.tab.h"
#include "icc.h"
#include "style.h"

View File

@@ -1,47 +0,0 @@
PROGRAMS = amiwm requestchoice
AMIWM_HOME = amiwm:
SRCS1 = main.c drawinfo.c client.c frame.c icc.c \
icon.c menu.c diskobject.c gram.c lex.c rc.c
OBJS1 = main.o drawinfo.o client.o frame.o icc.o \
icon.o menu.o diskobject.o gram.o lex.o rc.o
SRCS2 = requestchoice.c drawinfo.c
OBJS2 = requestchoice.o drawinfo.o
all : $(PROGRAMS)
amiwm : $(OBJS1)
sc LINK PNAME amiwm $(OBJS1)
requestchoice : $(OBJS2)
sc LINK PNAME requestchoice $(OBJS2)
gram.c : gram.y
bison -y -d -o gram.c gram.y
lex.c : lex.l
flex -t < lex.l > lex.c
gram.o : gram.c
lex.o : lex.c
menu.o : menu.c
sc menu DEF AMIWM_HOME="$(AMIWM_HOME)"
rc.o : rc.c
sc rc DEF AMIWM_HOME="$(AMIWM_HOME)"
clean : tidy
-delete FORCE $(PROGRAMS)
tidy :
-delete FORCE \#?.(o|q|tmp|lnk) lex.c gram.c gram.h core
install :
copy amiwm requestchoice system.amiwmrc def_tool.info $(AMIWM_HOME)