TARGET=$(FORKDIR)/lib
BINDIR=$(FORKDIR)/bin
CC=gcc
CFLAGS=-g
LDFLAGS=-g
INCLUDES=

D=$(FORKDIR)/src/objs

all:	$(TARGET)/rcc $(BINDIR)/fcc

OBJS=$(D)/gen.o

$(D)/gen.o:	gen.c reginfo.h
		cd $(D); $(CC) -c $(CFLAGS) $(INCLUDES) ../gen.c

SHELL=/bin/sh

COBJS=$(D)/dag.o \
	$(D)/decl.o \
	$(D)/enode.o \
	$(D)/error.o \
	$(D)/expr.o \
	$(D)/init.o \
	$(D)/input.o \
	$(D)/lex.o \
	$(D)/main.o \
	$(D)/output.o \
	$(D)/profio.o \
	$(D)/simp.o \
	$(D)/stmt.o \
	$(D)/string.o \
	$(D)/sym.o \
	$(D)/tree.o \
	$(D)/types.o

$(TARGET)/rcc:	$(COBJS) $(OBJS)
		$(CC) $(LDFLAGS) -o $@ $(COBJS) $(OBJS)

C=.

$(BINDIR)/fcc: $(D)/fcc.o
	$(CC) -o $(BINDIR)/fcc $(D)/fcc.o

$(D)/fcc.o:     $(C)/fcc.c $(C)/fcc.h
	cd $(D); $(CC) -c $(CCOPT) ../../src/fcc.c

$(COBJS):	$(C)/c.h $(C)/token.h $(C)/ops.h
$(OBJS):	$(C)/c.h $(C)/token.h $(C)/ops.h

CCOPT=
#-D../include

$(D)/lex.o:	$(C)/keywords.h

$(D)/dag.o:	$(C)/dag.c;	cd $(D); $(CC) -c $(CCOPT) ../../src/dag.c
$(D)/decl.o:	$(C)/decl.c;	cd $(D); $(CC) -c $(CCOPT) ../../src/decl.c
$(D)/enode.o:	$(C)/enode.c;	cd $(D); $(CC) -c $(CCOPT) ../../src/enode.c
$(D)/error.o:	$(C)/error.c;	cd $(D); $(CC) -c $(CCOPT) ../../src/error.c
$(D)/expr.o:	$(C)/expr.c;	cd $(D); $(CC) -c $(CCOPT) ../../src/expr.c
$(D)/init.o:	$(C)/init.c;	cd $(D); $(CC) -c $(CCOPT) ../../src/init.c
$(D)/input.o:	$(C)/input.c;	cd $(D); $(CC) -c $(CCOPT) ../../src/input.c
$(D)/lex.o:	$(C)/lex.c;	cd $(D); $(CC) -c $(CCOPT) ../../src/lex.c
$(D)/main.o:	$(C)/main.c;	cd $(D); $(CC) -c $(CCOPT) ../../src/main.c
$(D)/output.o:	$(C)/output.c;	cd $(D); $(CC) -c $(CCOPT) ../../src/output.c
$(D)/profio.o:	$(C)/profio.c;	cd $(D); $(CC) -c $(CCOPT) ../../src/profio.c
$(D)/simp.o:	$(C)/simp.c;	cd $(D); $(CC) -c $(CCOPT) ../../src/simp.c
$(D)/stmt.o:	$(C)/stmt.c;	cd $(D); $(CC) -c $(CCOPT) ../../src/stmt.c
$(D)/string.o:	$(C)/string.c;	cd $(D); $(CC) -c $(CCOPT) ../../src/string.c
$(D)/sym.o:	$(C)/sym.c;	cd $(D); $(CC) -c $(CCOPT) ../../src/sym.c
$(D)/tree.o:	$(C)/tree.c;	cd $(D); $(CC) -c $(CCOPT) ../../src/tree.c
$(D)/types.o:	$(C)/types.c;	cd $(D); $(CC) -c $(CCOPT) ../../src/types.c
$(COBJS) $(OBJS):	config.h

clean:
	rm -f $(D)/*.o; rm -f $(BINDIR)/fcc; rm -f $(TARGET)/rcc
