TOP=../..
include $(TOP)/mk/boilerplate.mk
+#
+# You'll only get this with Parallel Haskell or
+# GranSim..
+#
+ifeq "$(BuildingParallel)" "YES"
+INSTALL_PARALLEL_SCRIPTS = YES
+endif
+ifeq "$(BuildingGranSim)" "YES"
+INSTALL_PARALLEL_SCRIPTS = YES
+endif
+
+ifeq "$(INSTALL_PARALLEL_SCRIPTS)" "YES"
+
PERL_PROGS = \
grs2gr gr2qp qp2ps ghc-fool-sort ghc-unfool-sort gr2pe gr2java \
qp2ap gr2RTS RTS2gran gran-extr gp-ext-imp tf avg-RTS SPLIT \
AVG SN get_SN sn_filter ps-scale-y
-
BASH_PROGS = gr2ps gr2jv gr2ap gr2gran
-#
-# One rule fits all, not particularly selective.
-#
-$(PERL_PROGS) : $(patsubst %,%.pl,$(PERL_PROGS))
-$(BASH_PROGS) : $(patsubst %,%.bash,$(BASH_PROGS))
+else
+PERL_PROGS =
+BASH_PROGS =
-all :: $(PERL_PROGS) $(BASH_PROGS)
+endif
-$(PERL_PROGS) :
- $(RM) $@
- @echo Creating $@...
- @echo "#!"$(PERL) > $@
- @cat $@.pl >> $@
- @chmod a+x $@
+PERL_INSTALLERS = $(addprefix install.perl.,$(PERL_PROGS))
+BASH_INSTALLERS = $(addprefix install.bash.,$(BASH_PROGS))
-$(BASH_PROGS) :
- $(RM) $@
- @echo Creating $@...
- @echo "#!"$(BASH) > $@
- @cat $@.bash >> $@
- @chmod a+x $@
+.PHONY: install.perl.%
+.PHONY: install.bash.%
-#
-# You'll only get this with Parallel Haskell or
-# GranSim..
-#
-ifeq "$(BuildingParallel)" "YES"
-INSTALL_SCRIPTS += $(BASH_PROGS) $(PERL_PROGS)
-else
-ifeq "$(BuildingGranSim)" "YES"
-INSTALL_SCRIPTS += $(BASH_PROGS) $(PERL_PROGS)
-endif
-endif
+install :: $(PERL_INSTALLERS) $(BASH_INSTALLERS)
+
+$(PERL_INSTALLERS): install.perl.%:
+ rm -f $(bindir)/$*
+ echo "#!$(PERL)" >> $(bindir)/$*
+ cat $*.pl >> $(bindir)/$*
+ $(EXECUTABLE_FILE) $(bindir)/$*
+
+$(BASH_INSTALLERS): install.bash.%:
+ rm -f $(bindir)/$*
+ echo "#!$(BASH)" >> $(bindir)/$*
+ cat $*.bash >> $(bindir)/$*
+ $(EXECUTABLE_FILE) $(bindir)/$*
-CLEAN_FILES += $(BASH_PROGS) $(PERL_PROGS)
+BINDIST_EXTRAS += $(addsuffix .pl,$(PERL_PROGS))
+BINDIST_EXTRAS += $(addsuffix .bash,$(BASH_PROGS))
+include $(TOP)/mk/bindist.mk
include $(TOP)/mk/target.mk