# Wedit Makefile for project somv1
SRCDIR=c:\prabhas\bag\som\som-v1
CFLAGS=-Ic:\lcc\include 
CC=$(LCCROOT)\bin\lcc.exe
LINKER=$(LCCROOT)\bin\lcclnk.exe
OBJS=\
	a1.obj \
	gencode.obj \
	icode.obj \
	interp.obj \
	lex.obj \
	list.obj \
	parse.obj \
	stmt.obj \
	symtab.obj \
	token.obj

LIBS=
EXE=c:\prabhas\bag\som\som-v1\test\som.exe

$(EXE):	$(OBJS) Makefile
	$(LINKER)  -s -subsystem console -o $(SRCDIR)\test\som.exe $(OBJS) $(LIBS)

# Build a1.c
A1_C=\
	$(SRCDIR)\compile.h\
	$(SRCDIR)\icname.h\
	$(SRCDIR)\token.h\

a1.obj: $(A1_C) $(SRCDIR)\a1.c
	$(CC) -c $(CFLAGS) $(SRCDIR)\a1.c

# Build gencode.c
GENCODE_C=\
	$(SRCDIR)\compile.h\
	$(SRCDIR)\icname.h\
	$(SRCDIR)\token.h\

gencode.obj: $(GENCODE_C) $(SRCDIR)\gencode.c
	$(CC) -c $(CFLAGS) $(SRCDIR)\gencode.c

# Build icode.c
ICODE_C=\
	$(SRCDIR)\compile.h\
	$(SRCDIR)\icname.h\
	$(SRCDIR)\token.h\

icode.obj: $(ICODE_C) $(SRCDIR)\icode.c
	$(CC) -c $(CFLAGS) $(SRCDIR)\icode.c

# Build interp.c
INTERP_C=\
	$(SRCDIR)\compile.h\
	$(SRCDIR)\icname.h\
	$(SRCDIR)\token.h\
	$(SRCDIR)\interp.h\

interp.obj: $(INTERP_C) $(SRCDIR)\interp.c
	$(CC) -c $(CFLAGS) $(SRCDIR)\interp.c

# Build lex.c
LEX_C=\
	$(SRCDIR)\compile.h\
	$(SRCDIR)\icname.h\
	$(SRCDIR)\token.h\

lex.obj: $(LEX_C) $(SRCDIR)\lex.c
	$(CC) -c $(CFLAGS) $(SRCDIR)\lex.c

# Build list.c
LIST_C=\
	$(SRCDIR)\compile.h\
	$(SRCDIR)\icname.h\
	$(SRCDIR)\token.h\

list.obj: $(LIST_C) $(SRCDIR)\list.c
	$(CC) -c $(CFLAGS) $(SRCDIR)\list.c

# Build parse.c
PARSE_C=\
	$(SRCDIR)\compile.h\
	$(SRCDIR)\icname.h\
	$(SRCDIR)\token.h\
	$(SRCDIR)\parse.h\

parse.obj: $(PARSE_C) $(SRCDIR)\parse.c
	$(CC) -c $(CFLAGS) $(SRCDIR)\parse.c

# Build stmt.c
STMT_C=\
	$(SRCDIR)\compile.h\
	$(SRCDIR)\icname.h\
	$(SRCDIR)\token.h\

stmt.obj: $(STMT_C) $(SRCDIR)\stmt.c
	$(CC) -c $(CFLAGS) $(SRCDIR)\stmt.c

# Build symtab.c
SYMTAB_C=\
	$(SRCDIR)\compile.h\
	$(SRCDIR)\icname.h\
	$(SRCDIR)\token.h\

symtab.obj: $(SYMTAB_C) $(SRCDIR)\symtab.c
	$(CC) -c $(CFLAGS) $(SRCDIR)\symtab.c

# Build token.c
TOKEN_C=\
	$(SRCDIR)\compile.h\
	$(SRCDIR)\icname.h\
	$(SRCDIR)\token.h\

token.obj: $(TOKEN_C) $(SRCDIR)\token.c
	$(CC) -c $(CFLAGS) $(SRCDIR)\token.c

link:
	$(LINKER)  -s -subsystem console -o $(SRCDIR)\test\som.exe $(OBJS) $(LIBS)

clean:
	del $(OBJS) som.exe
