#	Makefile for building the window management code
#	

# Libraries that live in subdirectories, and have makefiles of their own.
#
SUBDIR=	patterns raster rectangle graphics ucode


#directories needed for all of this
HDIR = h
VTDIR = ../vt

#	libraries to link to

# for color
CGLIB =	graphics/cgraphics.a
CRLIB =	raster/craster.a
CULIB =	ucode/cucode.a

# for monochrome
GLIB =	graphics/graphics.a
RLIB =	raster/raster.a
ULIB =	ucode/ucode.a

# for either 
ELIB =  rectangle/rectangle.a
PLIB =	patterns/patterns.a

#MAKEPATH=.:$(SDIR):$(ODIR):$(IDIR)

CFLAGS = -O -DKERNEL -DUNIX -I$(HDIR) -I$(VTDIR)

FILES =  tile.o window.o paint.o clipping.o mapping.o cursor.o \
	 block.o general.o gipinit.o

all:	vt.o cvt.o

vt.o:	$(FILES) $(GLIB) $(RLIB) $(PLIB) $(ELIB) $(ULIB)
	ld -r $(FILES) $(GLIB) $(RLIB) $(ELIB) $(ULIB) -o vt.o

cvt.o:	$(FILES) $(CGLIB) $(CRLIB) $(PLIB) $(ELIB) $(CULIB)
	cd color; ld -r $(FILES) ../$(CGLIB) ../$(CRLIB) \
	   ../$(ELIB) ../$(CULIB) -o ../cvt.o

${SUBDIR}: FRC
	cd $@; make ${MFLAGS}

clean:
	for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} clean); done
	rm -f *.o color/* core

.c.o:
	$(CC) -c $(CFLAGS) -DCOLOR $<
	mv $*.o color
	$(CC) -c $(CFLAGS) $<

.s.o:
	$(CC) -c $(CFLAGS) -DCOLOR $<
	mv $*.o color
	$(CC) -c $(CFLAGS) $<

# dependences
$(CGLIB): graphics
$(CRLIB): raster
$(CULIB): ucode
$(GLIB): graphics
$(RLIB): raster
$(ULIB): ucode
$(PLIB): patterns
$(ELIB): rectangle
FRC:
