# ----------------------------------------------------
# Copyright (C) 1996, Ericsson Telecommunications
# Author: Kenneth Lundin, Lars Thorsen
# ----------------------------------------------------

AUTOCONF := $(ERL_TOP)/erts/autoconf
TARGET := $(shell $(AUTOCONF)/config.guess)
include $(ERL_TOP)/internal_tools/make/$(TARGET)/otp.mk

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

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

ERL = erl

# ----------------------------------------------------
# Target Specs
# ----------------------------------------------------
MODULES=    	gs gs_frontend gs_make gs_widgets gtk gtk_arc gtk_button\
                gtk_canvas gtk_checkbutton gtk_db gtk_editor gtk_entry \
                gtk_font gtk_frame gtk_grid gtk_gridline gs_packer \
                gtk_gs gtk_image gtk_label gtk_line gtk_listbox gtk_menu\
                gtk_menubar gtk_menubutton gtk_menuitem gtk_oval gtk_polygon \
                gtk_port_handler gtk_radiobutton gtk_rectangle gtk_scale \
                gtk_text gtk_widgets gtk_window tcl2erl tool_utils tool_genfd \
		tool_file_dialog gse

GTK_GENERIC = gtk_generic.erl

HRL_FILES = gtk.hrl
GEN_HRL_FILES = gtk_generic.hrl
GTK_GENERIC_TARGET = $(EBIN)/gtk_generic.$(EMULATOR)
KEEP_AS_IS = $(EBIN)/gs-color-xdefaults $(EBIN)/fup.bm

ERL_FILES= $(MODULES:%=%.erl)

TARGET_FILES= $(MODULES:%=../ebin/%.$(EMULATOR)) $(GEN_HRL_FILES) \
	$(GTK_GENERIC_TARGET) $(KEEP_AS_IS) $(APP_TARGET)

APP_FILE= gs.app
APP_SRC= $(APP_FILE).src
APP_TARGET= ../ebin/$(APP_FILE)


# ----------------------------------------------------
# FLAGS
# ----------------------------------------------------
ERL_FLAGS += 
ERL_COMPILE_FLAGS +=

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

debug opt: $(TARGET_FILES)

docs:

clean:
	rm -f $(TARGET_FILES)
	rm -f core *~

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

gtk_generic.hrl: gs_make.erl
	$(ERL) -pa $(EBIN) -s gs_make -s erlang halt -noshell

$(EBIN)/gs-color-xdefaults: gs-color-xdefaults
	rm -f $@
	cp gs-color-xdefaults $@

$(EBIN)/fup.bm: fup.bm
	rm -f $@
	cp fup.bm $@

$(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)/src
	$(INSTALL_DATA) $(APP_SRC) $(ERL_FILES) $(HRL_FILES) $(GEN_HRL_FILES) \
		$(GTK_GENERIC) $(RELSYSDIR)/src
	$(INSTALL_DIR) $(RELSYSDIR)/ebin
	$(INSTALL_DATA) $(TARGET_FILES) $(KEEP_AS_IS) $(RELSYSDIR)/ebin


release_docs_spec:

release_src_spec:
	$(INSTALL_DIR) $(RELSYSDIR)/src
	$(INSTALL_DATA) $(APP_SRC) $(ERL_FILES) $(HRL_FILES) $(GEN_HRL_FILES) \
		$(GTK_GENERIC) $(RELSYSDIR)/src
	$(INSTALL_DIR) $(RELSYSDIR)/ebin
	$(INSTALL_DATA) $(KEEP_AS_IS) $(RELSYSDIR)/ebin
	$(INSTALL_DATA) $(KEEP_AS_IS) $(RELSYSDIR)/src
	$(INSTALL_DATA) gs.app.src Makefile $(RELSYSDIR)/src
	$(INSTALL_DATA) ../Makefile ../vsn.mk $(RELSYSDIR)
	$(INSTALL_DIR) $(RELSYSDIR)/contribs
	$(INSTALL_DATA) ../contribs/Makefile $(RELSYSDIR)/contrib

