#include <psf_pre.imake>
#include <installmanpage.imake>

IDELIB = $(DESTINATION)/lib/ide
PSFLIBDIR = $(DESTINATION)/lib
PSFBINDIR = $(DESTINATION)/bin

TCLPACKAGES = ComboBox.tcl Display.tcl OptionDatabase.tcl Pane.tcl \
	StatusBar.tcl TIL.tcl
TCLSRC = animation.tcltmpl errorviewer.tcltmpl function.tcltmpl \
	idegui.tcltmpl librarymanager.tcltmpl modulemanager.tcltmpl \
	simulator.tcltmpl
TCLTOOLS = $(TCLSRC:.tcltmpl=.tcl)
PERLSRC = compiler.perltmpl
PERLTOOLS = $(PERLSRC:.perltmpl=.perl)

AllTarget(psfide $(TCLTOOLS) $(PERLTOOLS) psfide.man)

psfide: psfide.tmpl
	sed -e s+@IDE_LIB@+$(IDELIB)+g \
	-e s+@PSF_LIB@+$(PSFLIBDIR)+g \
	-e s+@PSF_BIN@+$(PSFBINDIR)+g \
	-e s+@PROG_PERL@+$(PROG_PERL)+g \
	-e s+@PROG_WISH@+$(PROG_WISH)+g \
		< psfide.tmpl > psfide
	chmod +x psfide

.SUFFIXES: .tcltmpl .tcl .perltmpl .perl

.tcltmpl.tcl:
	sed -e s+@IDELIB@+$(IDELIB)+g -e s+@PSFLIB@+$(PSFLIBDIR)+g \
		< $< > $@
	chmod +x $@

.perltmpl.perl:
	sed -e s+@IDELIB@+$(IDELIB)+g \
		< $< > $@
	chmod +x $@


InstallProgram(psfide,$(BINDIR))
MakeDirectories(install,$(IDELIB))
InstallNonExecFile(ide_script.tb,$(IDELIB))
InstallMultiple($(TCLTOOLS),$(IDELIB))
InstallMultiple($(TCLPACKAGES),$(IDELIB))
install:: $(TCLPACKAGES)
	echo "pkg_mkIndex $(IDELIB) $(TCLPACKAGES) ; exit" | $(PROG_WISH)
InstallMultiple($(PERLTOOLS),$(IDELIB))

PSFInstallManPage(psfide,1)

psfide.man: psfide.man.tmpl
	sed -e s+@DEFPSFBINDIR@+$(BINDIR)+g                               \
		< psfide.man.tmpl > psfide.man
clean::
	$(RM) psfide simkernel-adapter $(TCLTOOLS) psfide.man

ARCHIVE = Imakefile psfide.tmpl \
     ide_script.tb psfide.man.tmpl $(TCLPACKAGES) $(TCLSRC) $(PERLSRC)

#include <psf_post.imake>
