dupuy@CS.COLUMBIA.EDU (Alexander Dupuy) (02/02/89)
I use Gnu Make, Bison and GCC when building GDB, and there are a few nits which could be modified to make this easier to do. Use $(YACC) in the makefile, so I can say "make YACC='bison -y'". Make dep.o and pinsn.o dependent simply on dep.c and pinsn.c respectively; the current dependency on umpteen different files isn't necessary, since dep.c and pinsn.c will be links to the correct files, and it causes Gnu Make sometimes to not make dep.o or pinsn.o. Add extra declarations of static functions in expread.y; when bison is used instead of yacc, the ordering is different, and several static functions are used before they are defined. This elicits annoying warning messages from gcc. Keep up the great work - I am looking forward to the promised 3.2 features... @alex patches follow: ______________________________________________________________________________ RCS file: RCS/Makefile,v retrieving revision 3.1 diff -c -r3.1 Makefile *** /tmp/,RCSt1a16995 Wed Feb 1 20:24:41 1989 --- Makefile Wed Feb 1 19:25:43 1989 *************** *** 160,166 **** expread.tab.c : expread.y @echo 'Expect 101 shift/reduce conflicts and 1 reduce/reduce conflict.' ! yacc expread.y mv y.tab.c expread.tab.c expread.o : expread.tab.c defs.h param.h symtab.h frame.h expression.h --- 160,166 ---- expread.tab.c : expread.y @echo 'Expect 101 shift/reduce conflicts and 1 reduce/reduce conflict.' ! $(YACC) $? mv y.tab.c expread.tab.c expread.o : expread.tab.c defs.h param.h symtab.h frame.h expression.h *************** *** 173,188 **** malloc.o : malloc.c ${CC} -c ${MALLOC_FLAGS} malloc.c ! # ! # dep.o depends on ALL the dep files since we don't know which one ! # is really being used. ! # ! dep.o : ${DEPFILES} defs.h param.h frame.h inferior.h obstack.h \ ! a.out.encap.h ! # pinsn.o depends on ALL the opcode printers ! # since we don't know which one is really being used. ! pinsn.o : ${PINSNS} defs.h param.h symtab.h obstack.h symseg.h frame.h \ ${OPCODES} # --- 173,181 ---- malloc.o : malloc.c ${CC} -c ${MALLOC_FLAGS} malloc.c ! dep.o : dep.c defs.h param.h frame.h inferior.h obstack.h ! pinsn.o : pinsn.c defs.h param.h symtab.h obstack.h symseg.h frame.h \ ${OPCODES} # RCS file: RCS/expread.y,v retrieving revision 3.1 diff -c -r3.1 expread.y *** /tmp/,RCSt1a17279 Wed Feb 1 20:34:05 1989 --- expread.y Wed Feb 1 20:18:30 1989 *************** *** 43,48 **** --- 43,54 ---- static int yylex (); static void yyerror (); static void write_exp_elt (); + static void write_exp_elt_opcode (); + static void write_exp_elt_sym (); + static void write_exp_elt_longcst (); + static void write_exp_elt_dblcst (); + static void write_exp_elt_type (); + static void write_exp_elt_intern (); static void write_exp_string (); static void start_arglist (); static int end_arglist (); -- inet: dupuy@cs.columbia.edu uucp: ...!rutgers!cs.columbia.edu!dupuy