all: file.o gamelib.o attribute.o channel.o color.o dirtrect.o quickmath.o iff.o msgbox.o multigrid.o debug.o rstring.o str.o parse.o gui.o liborange.a

include $(KOS_BASE)/Makefile.rules

OBJS = liborange.a

KOS_CPPFLAGS += $(BUILDFLAGS) -static -I.. -I../BLUE -I../BLUE/unix -I../GREEN -I../../../Postal -I../../../pvr -I../../../WishPiX -I../../../SoftFloat/source/include
	
GUI_OBJS =  GUI/btn.cpp \
			GUI/dlg.cpp	\
			GUI/edit.cpp \
			GUI/guiItem.cpp \
			GUI/ListBox.cpp \
			GUI/ListContents.cpp \
			GUI/ProcessGui.cpp \
			GUI/PushBtn.cpp \
			GUI/txt.cpp \
			GUI/MultiBtn.cpp \
			GUI/scrollbar.cpp \
			GUI/image.cpp

GAMELIB_OBJS =	GameLib/ANIMSPRT.cpp \
				GameLib/Region.cpp \
				GameLib/SHAPES.cpp \
				GameLib/SPRITE.cpp

MULTIGRID_OBJS =	MultiGrid/MultiGrid.cpp \
					MultiGrid/MultiGridIndirect.cpp

COLOR_OBJS =	Color/colormatch.cpp \
				Color/dithermatch.cpp

MATH_OBJS = QuickMath/FixedPoint.cpp \
			QuickMath/QuickMath.cpp
		
clean:
	-rm -f $(OBJS)	

liborange.a: file.o
	$(KOS_AR) rcs liborange.a *.o
	mv liborange.a ../../../build/lib/liborange.a		
																	
parse.o:
	$(KOS_CC) $(KOS_CFLAGS) $(KOS_CPPFLAGS) $(KOS_LDFLAGS) -c ./Parse/SimpleBatch.cpp $(KOS_START) $^ $(KOS_LIBS) -w -Wfatal-errors 

gamelib.o: #
	$(KOS_CC) $(KOS_CFLAGS) $(KOS_CPPFLAGS) $(KOS_LDFLAGS) -c ./$(GAMELIB_OBJS) $(KOS_START) $^ $(KOS_LIBS) -w -Wfatal-errors 

iff.o:
	$(KOS_CC) $(KOS_CFLAGS) $(KOS_CPPFLAGS) $(KOS_LDFLAGS) -c IFF/*.cpp $(KOS_START) $^ $(KOS_LIBS) -w -Wfatal-errors 
	 		
file.o: 
	$(KOS_CC) $(KOS_CFLAGS) $(KOS_CPPFLAGS) $(KOS_LDFLAGS) -c File/file.cpp $(KOS_START) $^ $(KOS_LIBS) -w -Wfatal-errors 
	
attribute.o:
	$(KOS_CC) $(KOS_CFLAGS) $(KOS_CPPFLAGS) $(KOS_LDFLAGS) -c Attribute/attribute.cpp $(KOS_START) $^ $(KOS_LIBS) -w -Wfatal-errors 

channel.o:
	$(KOS_CC) $(KOS_CFLAGS) $(KOS_CPPFLAGS) $(KOS_LDFLAGS) -c Channel/channel.cpp $(KOS_START) $^ $(KOS_LIBS) -w -Wfatal-errors 

color.o:
	$(KOS_CC) $(KOS_CFLAGS) $(KOS_CPPFLAGS) $(KOS_LDFLAGS) -c ./$(COLOR_OBJS) $(KOS_START) $^ $(KOS_LIBS) -w -Wfatal-errors 

dirtrect.o:
	$(KOS_CC) $(KOS_CFLAGS) $(KOS_CPPFLAGS) $(KOS_LDFLAGS) -c DirtRect/DirtRect.cpp $(KOS_START) $^ $(KOS_LIBS) -w -Wfatal-errors 

quickmath.o:
	$(KOS_CC) $(KOS_CFLAGS) $(KOS_CPPFLAGS) $(KOS_LDFLAGS) -c $(MATH_OBJS) $(KOS_START) $^ $(KOS_LIBS) -w -Wfatal-errors 

gui.o:
	$(KOS_CC) $(KOS_CFLAGS) $(KOS_CPPFLAGS) $(KOS_LDFLAGS) -c $(GUI_OBJS) $(KOS_START) $^ $(KOS_LIBS) -w -Wfatal-errors 

msgbox.o:
	$(KOS_CC) $(KOS_CFLAGS) $(KOS_CPPFLAGS) $(KOS_LDFLAGS) -c MsgBox/MsgBox.cpp $(KOS_START) $^ $(KOS_LIBS) -w -Wfatal-errors 

multigrid.o:
	$(KOS_CC) $(KOS_CFLAGS) $(KOS_CPPFLAGS) $(KOS_LDFLAGS) -c ./$(MULTIGRID_OBJS) $(KOS_START) $^ $(KOS_LIBS) -w -Wfatal-errors 

debug.o:
	$(KOS_CC) $(KOS_CFLAGS) $(KOS_CPPFLAGS) $(KOS_LDFLAGS) -c Debug/profile.cpp $(KOS_START) $^ $(KOS_LIBS) -w -Wfatal-errors 

rstring.o:
	$(KOS_CC) $(KOS_CFLAGS) $(KOS_CPPFLAGS) $(KOS_LDFLAGS) -c RString/rstring.cpp $(KOS_START) $^ $(KOS_LIBS) -w -Wfatal-errors 

str.o:
	$(KOS_CC) $(KOS_CFLAGS) $(KOS_CPPFLAGS) $(KOS_LDFLAGS) -c str/str.cpp $(KOS_START) $^ $(KOS_LIBS) -w -Wfatal-errors 

rm-o:
	-rm -f liborange.a
	-rm -f *.o
