# ----------------------------------------------------
# Copyright (C) 1997, Ericsson Telecommunications
# Author: Lars Thorsen
# ----------------------------------------------------

AUTOCONF := $(ERL_TOP)/erts/autoconf
TARGET := $(shell $(AUTOCONF)/config.guess)

#ifeq ($(TYPE),debug)
ERL_COMPILE_FLAGS += -W
#endif

EBIN = .

include $(ERL_TOP)/internal_tools/make/$(TARGET)/otp.mk

# ----------------------------------------------------
# Application version
# ----------------------------------------------------
include ../../../vsn.mk
VSN=$(MNESIA_SESSION_VSN)

# ----------------------------------------------------
# Release directory specification
# ----------------------------------------------------
RELEASE_PATH= ../../../../release/$(TARGET)
RELSYSDIR = $(RELEASE_PATH)/lib/mnesia_session-$(VSN)/examples

# ----------------------------------------------------
# Target Specs
# ----------------------------------------------------
GEN_OUT_DIR= gen_files

PERSON_IDL = ../person.idl

IDL_FILES = \
	$(PERSON_IDL)

NORMAL_MODULES= \
	person_ex \
	setup

NORMAL_ERL_FILES = \
	$(NORMAL_MODULES:%=%.erl)

GEN_MODULES =  \
	oe_person \
	persons_data \
	persons_person

GEN_HRL_NAMES = \
	oe_person \
	persons

GEN_HRL_FILES = \
	$(GEN_HRL_NAMES:%=./$(GEN_OUT_DIR)/%.hrl)

GEN_FILES = \
	$(GEN_HRL_FILES) \
	$(GEN_MODULES:%=./$(GEN_OUT_DIR)/%.erl) 

TARGET_FILES= \
	$(GEN_MODULES:%=$(EBIN)/%.$(EMULATOR)) \
	$(NORMAL_MODULES:%=$(EBIN)/%.$(EMULATOR))


# ----------------------------------------------------
# FLAGS
# ----------------------------------------------------
ERL_FLAGS += -pa $(ERL_TOP)/libraries/mnesia_session/ebin

ERL_COMPILE_FLAGS += \
		-I ./$(GEN_OUT_DIR)


# ----------------------------------------------------
# Targets
# ----------------------------------------------------

opt: $(TARGET_FILES)

debug:
	@${MAKE} TYPE=debug

clean:
	rm -f $(TARGET_FILES)
	rm -f $(GEN_FILES)
	rm -f core

docs:

$(EBIN)/%.$(EMULATOR): $(GEN_OUT_DIR)/%.erl
	$(ERLC) -b$(EMULATOR) $(ERL_FLAGS) $(ERL_COMPILE_FLAGS) -o$(EBIN) $<


$(GEN_FILES): $(PERSON_IDL)
	$(ERLC) $(ERL_FLAGS)  $(ERL_COMPILE_FLAGS) \
	+'{be, erl_genserv}' +'{outdir, "./gen_files"}' \
	$(PERSON_IDL)

# ----------------------------------------------------
# Special Build Targets
# ----------------------------------------------------

#$(APP_TARGET): $(APP_SRC)
#	sed -e 's;%VSN%;$(VSN);' $(APP_SRC) > $(APP_TARGET)

# ----------------------------------------------------
# Release Target
# ---------------------------------------------------- 
include $(ERL_TOP)/internal_tools/make/otp_release_targets.mk

release_spec: opt
	$(INSTALL_DIR) $(RELSYSDIR)
	$(INSTALL_DIR) $(RELSYSDIR)/person
	$(INSTALL_DIR) $(RELSYSDIR)/person/erl_session
	$(INSTALL_DIR) $(RELSYSDIR)/person/erl_session/gen_files
	$(INSTALL_DATA) $(IDL_FILES) $(RELSYSDIR)/person
	$(INSTALL_DATA) $(GEN_FILES) $(RELSYSDIR)/person/erl_session/gen_files
	$(INSTALL_DATA) $(TARGET_FILES) $(NORMAL_ERL_FILES) $(RELSYSDIR)/person/erl_session

release_docs_spec:


release_src_spec: release_spec
	$(INSTALL_DATA) Makefile $(RELSYSDIR)/person/erl_session
