PRODUCT_NAME=GLTest
BUILT_PRODUCTS_DIR=.
CONFIGURATION_TEMP_DIR=.
SRCROOT=.
IPHONE_IP=192.168.1.102

SOURCES=\
	GLTest.cpp move.cpp osc.cpp

CC=/Developer/SDKs/iPhone/bin/arm-apple-darwin-cc
CXX=/Developer/SDKs/iPhone/bin/arm-apple-darwin-cc
CFLAGS=-g -O2 -Wall
CPPFLAGS=-fno-exceptions -fno-rtti
LD=/Developer/SDKs/iPhone/bin/arm-apple-darwin-cc
LDFLAGS=-ObjC -framework CoreGraphics -framework OpenGLES -framework Foundation -framework CoreGraphics

EXECUTABLE_NAME=$(PRODUCT_NAME)
SOURCES_ABS=$(addprefix $(SRCROOT)/,$(SOURCES))
OBJECTS=\
	$(patsubst %.c,%.o,$(filter %.c,$(SOURCES))) \
	$(patsubst %.cc,%.o,$(filter %.cc,$(SOURCES))) \
	$(patsubst %.cpp,%.o,$(filter %.cpp,$(SOURCES))) \
	$(patsubst %.m,%.o,$(filter %.m,$(SOURCES))) \
	$(patsubst %.M,%.o,$(filter %.M,$(SOURCES))) \
	$(patsubst %.mm,%.o,$(filter %.mm,$(SOURCES)))
OBJECTS_ABS=$(addprefix $(CONFIGURATION_TEMP_DIR)/,$(OBJECTS))
APP_ABS=$(BUILT_PRODUCTS_DIR)
PRODUCT_ABS=$(APP_ABS)/$(EXECUTABLE_NAME)

all: $(PRODUCT_ABS)

run: $(PRODUCT_ABS)
	scp $(PRODUCT_ABS) root@$(IPHONE_IP):/Applications
	ssh -t root@$(IPHONE_IP) /Applications/$(PRODUCT_ABS)

$(PRODUCT_ABS): $(OBJECTS_ABS)
	mkdir -p $(dir $@)
	$(LD) $(LDFLAGS) -o $(PRODUCT_ABS) $(OBJECTS_ABS)

$(CONFIGURATION_TEMP_DIR)/%.o: $(SRCROOT)/%.m
	mkdir -p $(dir $@)
	$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@

$(CONFIGURATION_TEMP_DIR)/%.o: $(SRCROOT)/%.cpp
	mkdir -p $(dir $@)
	$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@

$(CONFIGURATION_TEMP_DIR)/%.o: $(SRCROOT)/%.mm
	mkdir -p $(dir $@)
	$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@

$(CONFIGURATION_TEMP_DIR)/%.o: $(SRCROOT)/%.M
	mkdir -p $(dir $@)
	$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@

clean:
	rm -f $(OBJECTS_ABS)
	rm -f $(PRODUCT_ABS)

