LCCDIR=.
LBURG=../lburg/lburg
BINDIR=/usr/local/bin
LIBDIR=/usr/local/lib/lcc-win32
CDEBUG = -g -Wall -O2
CFLAGS=	-DWINELIB -DWINELIB32 -D__LCC__\
	-I ../unix/include\
	-I ../unix
LDDEBUG = -g
OBJS=alloc.o asm.o bind.o cv.o dag.o decl.o enode.o error.o\
	event.o expr.o gen.o init.o input.o lex.o win32.o list.o\
	main.o ncpp.o output.o prof.o profio.o simp.o seh.o\
	stmt.o string.o sym.o trace.o tree.o types.o optim.o\
	analysis.o intrin.o unix.o

.c.o:   c.h
	$(CC) -c $(CDEBUG) $(CFLAGS) $(CVARS) -o $*.o $<

#-------------------------------------------------------------------
all:    lcc-win32
#===================================================================
#
# Dependencies
#
#===================================================================

win32.o:	win32.c c.h w32incl.c 
	$(CC) $(CDEBUG) $(CFLAGS) $(CVARS) -c win32.c

win32.c:	win32.md ../lburg/lburg
	$(LBURG) win32.md win32.c

unix.o:	$(LCCDIR)/../unix/unix.c
	$(CC) $(CDEBUG) $(CFLAGS) $(CVARS) -c $(LCCDIR)/../unix/unix.c
../lburg/lburg: 
	(cd ../lburg;\
	make -f makefile.linux)
libasm.o: libasm.s
	$(CC) libasm.s
#Output name lcc.exe (-o lcc.exe)
#Strip symbol table and debug info (-s). Remove this flag to debug.
lcc-win32: $(OBJS) makefile ../lburg/lburg
	$(LD) $(LDDEBUG) $(LDFLAGS) -o lcc-win32 $(OBJS)
install:
	cp lcc-win32 $(BINDIR)
	cp -a ../include $(LIBDIR)

clean:
	$(RM)  $(OBJS) lcc-win32 win32.c *~ ../unix/unix.o
realclean:
	$(RM)  $(OBJS) lcc-win32 win32.c *~ *.o *.obj *.orig lcc.exe \
		../unix/unix.o ../unix/*~ a.out
