default : build run;

SOURCE_PATHS:=

PROJECT_NAME=ant
# FIXME
LIBS_TARGET_DIR:=build/$(PROJECT_NAME)-windows-i386

include Makefile.node

# TODO better detection
ifeq ($(OPERATING_SYSTEM),Windows_NT)
  OS_SUBDIR_NAME:=windows
  NEEDED_LIBS:=lua_libs ogg_vorbis_libs openal_libs freetype_libs
else ifneq ($(findstring Linux,$(OPERATING_SYSTEM)),)
  OS_SUBDIR_NAME:=linux
  NEEDED_LIBS:=
else
  OS_SUBDIR_NAME:=default
  NEEDED_LIBS:=
endif


# TODO better detection
ifeq ($(ARCH),default)
  CPU_SUBDIR_NAME:=i386
endif
ifeq ($(ARCH),)
  CPU_SUBDIR_NAME:=i386
endif

# Hardcoded -- fix later to make it crossplatform
DSYNC := $(ROOTDIR)/programs/dsync/dsync$(EXEEXT)

FULL_BUILD_NAME:=$(PROJECT_NAME)-$(OS_SUBDIR_NAME)-$(CPU_SUBDIR_NAME)
LIBS_TARGET_DIR:=build/$(FULL_BUILD_NAME)
CURRENT_BUILD_SUBDIR:=build/$(FULL_BUILD_NAME)

BUILD_DIRS:=$(addprefix $(CURRENT_BUILD_SUBDIR)/,profile cache)
print :
	@$(ECHO) $(BUILD_DIRS)

# Shortcuts only for recipes in this file, do not use it in variables
DIR:=$(CURRENT_BUILD_SUBDIR)
EXE:=$(PROGNAME)$(EXEEXT)
WORKDIR:=build/work

$(DIR)/data/tex/logo/ooyoot_logo.png : $(ROOTDIR)/ooyoot/logo/ooyoot_logo.png
	@$(MKDIRDEEP) $(call CANONPATH,$(@D)) || $(NOP)
	$(CP) $< $@

build : $(DIR)/$(EXE) $(BUILD_DIRS) $(DIR)/data/tex/logo/ooyoot_logo.png
	$(DSYNC) -r static/ $(DIR)
	$(DSYNC) -r static/ $(WORKDIR)
	$(DSYNC) -r static_external/ $(DIR)
	$(DSYNC) -r static_external/ $(DIR)

copy_build_to_work :
	$(DSYNC) -r $(CURRENT_BUILD_SUBDIR)/ $(WORKDIR)
run :
	$(RECURSIVE_MAKE) copy_build_to_work
	cd $(WORKDIR) && $(call CANONPATH,./$(EXE))
#	cd $(WORKDIR) && $(PROJECT_NAME)_server.bat
#	cd $(WORKDIR) && $(PROJECT_NAME)_twitter2.bat

checkbinary : FORCE
	cd src/$(PROJECT_NAME) && make $(BUILD_CURDIR)/src/$(PROJECT_NAME)/$(EXE)
FORCE:

$(DIR)/$(EXE) : checkbinary $(NEEDED_LIBS) $(BUILD_DIRS)
	$(CP) $(BUILD_CURDIR)/src/$(PROJECT_NAME)/$(EXE) $(DIR)/$(EXE)

$(CURRENT_BUILD_SUBDIR)/cache :
	$(MKDIRDEEP) $@ || $(NOP)

$(CURRENT_BUILD_SUBDIR)/profile :
	$(MKDIRDEEP) $@ || $(NOP)

YANDEX_DISK_PATH:=C:/Users/visualdoj/YandexDisk/delos
BUILD_ZIP:=$(CURDIR)/build/$(FULL_BUILD_NAME)-snapshot.zip
snapshot: build
	@$(RM) $(BUILD_ZIP) || $(NOP)
	cd $(DIR) && $(ZIP) -r $(BUILD_ZIP) * >$(BUILD_CURDIR)/zip.log
upload-snapshot-yadisk: snapshot
	$(CP) $(BUILD_ZIP) $(YANDEX_DISK_PATH)/$(PROGNAME)/
upload-snapshot-chemalina: snapshot
	C:/prog/putty/pscp.exe $(BUILD_ZIP) doj@192.168.1.100:nginx/html/$(PROJECT_NAME)/
upload-snapshot: ;
