#T-Sim 0.1
#DC porting

TARGET = tsim.elf

OBJECTS_TSIM = T-Sim.o Simulation/Simulation.o Simulation/Input/InputManager.o Simulation/Math/Conversions.o Simulation/Math/Vector3D.o Simulation/Output/Camera.o Simulation/Output/Color.o Simulation/Output/NumberRepresentation.o Simulation/Output/OutputManager.o Simulation/Output/Helicopter/HelicopterRepresentation.o Simulation/Output/Helicopter/RotorRepresentation.o 

OBJECTS_TSIM2 = Simulation/Output/Helicopter/Instruments/ArtificialHorizonRepresentation.o Simulation/Output/Helicopter/Instruments/CompassRepresentation.o Simulation/Output/Helicopter/Instruments/InstrumentPanelRepresentation.o Simulation/Output/Helicopter/Instruments/InstrumentRepresentation.o Simulation/Output/Helicopter/Instruments/NeedleInstrumentRepresentation.o Simulation/Output/Helicopter/Instruments/NeedleRepresentation.o

OBJECTS_TSIM3 = Simulation/Output/Sky/CloudRepresentation.o Simulation/Output/Sky/SkyRepresentation.o Simulation/Output/Terrain/TerrainHouseRepresentation.o Simulation/Output/Terrain/TerrainRepresentation.o Simulation/Output/Terrain/TerrainTileRepresentation.o Simulation/Output/Terrain/TerrainTreeRepresentation.o Simulation/Output/Views/CockpitView.o Simulation/Output/Views/ExternalView.o Simulation/Output/Views/InstrumentsView.o

OBJECTS_TSIM4 = Simulation/World/World.o Simulation/World/FlightModels/SimpleFlightModel.o Simulation/World/Helicopter/AirPressureIndicator.o Simulation/World/Helicopter/AirspeedIndicator.o Simulation/World/Helicopter/AltitudeIndicator.o Simulation/World/Helicopter/ArtificialHorizon.o Simulation/World/Helicopter/ClimbIndicator.o Simulation/World/Helicopter/ColorIndication.o Simulation/World/Helicopter/Compass.o Simulation/World/Helicopter/Helicopter.o Simulation/World/Helicopter/Instrument.o Simulation/World/Helicopter/InstrumentPanel.o Simulation/World/Helicopter/Needle.o Simulation/World/Helicopter/NeedleInstrument.o Simulation/World/Helicopter/Rotor.o Simulation/World/Helicopter/RPMIndicator.o

OBJECTS_TSIM5 = Simulation/World/Sky/Cloud.o Simulation/World/Sky/Sky.o Simulation/World/Terrain/Terrain.o Simulation/World/Terrain/TerrainHouse.o Simulation/World/Terrain/TerrainTile.o Simulation/World/Terrain/TerrainTileStore.o Simulation/World/Terrain/TerrainTree.o

INC=-ISimulation -ISimulation/Input -ISimulation/Math -ISimulation/Output -ISimulation/Output/Views -ISimulation/Output/Helicopter -ISimulation/Output/Helicopter/Instruments -ISimulation/Output/Terrain -ISimulation/Output/Sky -ISimulation/World -ISimulation/World/Sky -ISimulation/World/Terrain -ISimulation/World/Helicopter -ISimulation/World/FlightModels

KOS_CPPFLAGS += $(INC) -DDREAMCAST

all: rm-elf $(TARGET)

OBJS = $(OBJECTS_TSIM) $(OBJECTS_TSIM2) $(OBJECTS_TSIM3) $(OBJECTS_TSIM4) $(OBJECTS_TSIM5)
   
include $(KOS_BASE)/Makefile.rules

clean:
	-rm -f $(TARGET) $(OBJS)

rm-elf:
	-rm -f $(TARGET)

$(TARGET): $(OBJS) $(PROBJS)
	$(KOS_CCPLUS) $(KOS_CPPFLAGS) $(KOS_LDFLAGS) -o $(TARGET) $(KOS_START) \
		$(OBJS) $(PROBJS) $(OBJEXTRA) -lSDL_gl_1213 -lgl -lm -lstdc++ $(KOS_LIBS)
		
bin:
	$(KOS_OBJCOPY) -O binary -R .stack $(TARGET) tsim.bin