# $Id: Makefile,v 1.32 2004/03/28 07:26:37 jmuelmen Exp $ include ../config.mk COMPILERFLAGS = -Wall -g -ansi -pedantic CC = gcc CFLAGS = $(COMPILERFLAGS) $(INCLUDE) $(EXTRACFLAGS) SOURCES = help.c ident.c parse.c parsebuf.c shell.c lex.yy.c y.tab.c \ register.c instglue.c atot.c rl.c \ assign.c convert.c addition.c multiplication.c division.c relation.c \ equality.c inc.c OBJECTS = $(SOURCES:.c=.o) LIB = $(LIBDIR)/libshell.$(LIBSUFFIX) all: $(LIB) $(LIB): $(OBJECTS) $(LINKER) $(LINKERFLAGS) $(LIB) $(OBJECTS) register.c instglue.c: $(GLUEINC) cat $(GLUEINC) | ../glue/glue y.tab.h y.tab.c: cmd.y $(YACC) $(YACCFLAGS) $< lex.yy.c: cmd.l $(LEX) $(LEXFLAGS) $< # General rule for making object files %.d: %.c @ set -e ; $(CC) -M $(CFLAGS) $< \ | sed 's/\($*\)\.o[ :]*/\1.o $@ : /g' > $@; \ [ -s $@ ] || rm -f $@ %.o: %.c $(CC) $(CFLAGS) $< -c .PHONY: clean clean: rm -f *.o y.tab.* shell *.d *core register.* instglue.* # lex.yy.c -include $(SOURCES:.c=.d)