X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Ftarget.mk;h=ac222242ed0f59b892dbbbaaf7484af7bbdb2d5b;hb=8c086331fdf6977aea94b69337ed4c9723b6de19;hp=1e9a4d407b560bbdd24a08f337c9697783b2034a;hpb=6682da21838666a8d94c174e48fc23df26001b69;p=ghc-hetmet.git diff --git a/mk/target.mk b/mk/target.mk index 1e9a4d4..ac22224 100644 --- a/mk/target.mk +++ b/mk/target.mk @@ -169,7 +169,7 @@ endif # `TAGS' # Update a tags table for this program. # -# `dvi' `ps' `pdf' `html' `pdf' +# `dvi' `ps' `pdf' `html' `rtf' # Generate DVI/PS/PDF files for LaTeX/DocBook docs. Not everything is # supported everywhere, but the intention is to standardise on DocBook # producing all formats. @@ -296,14 +296,15 @@ SRC_HC_OPTS += -split-objs ifeq "$(ArSupportsInput)" "" define BUILD_LIB $(RM) $@ $@.tmp -(echo $(STUBOBJS); $(FIND) $(patsubst %.$(way_)o,%_split,$(HS_OBJS)) -name '*.$(way_)o') | xargs ar q $@.tmp +(echo $(STUBOBJS) $(EXTRA_OBJS); $(FIND) $(patsubst %.$(way_)o,%_split,$(HS_OBJS)) -name '*.$(way_)o') | xargs ar q $@.tmp $(RANLIB) $@.tmp $(MV) $@.tmp $@ endef else define BUILD_LIB $(RM) $@ $@.tmp -echo $(STUBOBJS) > $@.list +echo $(STUBOBJS) > $@.list +echo $(EXTRA_OBJS) >> $@.list $(FIND) $(patsubst %.$(way_)o,%_split,$(HS_OBJS)) -name '*.$(way_)o' >> $@.list $(AR) $(AR_OPTS) $@.tmp $(ArSupportsInput) $@.list $(RM) $@.list @@ -318,7 +319,7 @@ HC_SPLIT_PRE = \ $(RM) $@; if [ ! -d $(basename $@)_split ]; then mkdir $(basename $@)_split; else \ $(FIND) $(basename $@)_split -name '*.$(way_)o' | xargs $(RM) __rm_food; fi ifeq "$(GhcWithInterpreter)" "YES" -HC_SPLIT_POST = $(LD) -r $(LD_X) -o $@ $(basename $@)_split/*.$(way_)o +HC_SPLIT_POST = (cd $(dir $@) && $(LD) -r $(LD_X) -o $(notdir $@) $(basename $(notdir $@))_split/*.$(way_)o) else HC_SPLIT_POST = touch $@ endif # GhcWithInterpreter == YES @@ -643,6 +644,7 @@ endif # LINK # INSTALL_LIB_SCRIPTS platform-dependent scripts in $(libdir) # INSTALL_LIBEXECS platform-dependent execs in $(libdir) # INSTALL_DATAS platform-independent files in $(datadir) +# INSTALL_IFACES platform-dependent interface files in $(ifacedir) # # If the installation directory variable is undefined, the install rule simply # emits a suitable error message. @@ -763,11 +765,19 @@ install:: $(INSTALL_DATAS) done endif -ifneq "$(INSTALL_DATAS_WITH_DIRS)" "" -install:: $(INSTALL_DATAS_WITH_DIRS) - @$(INSTALL_DIR) $(datadir) - for i in $(INSTALL_DATAS_WITH_DIRS); do \ - $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(datadir)/`dirname $$i`; \ +ifneq "$(INSTALL_IFACES)" "" +install:: $(INSTALL_IFACES) + @$(INSTALL_DIR) $(ifacedir) + for i in $(INSTALL_IFACES); do \ + $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(ifacedir); \ + done +endif + +ifneq "$(INSTALL_IFACES_WITH_DIRS)" "" +install:: $(INSTALL_IFACES_WITH_DIRS) + @$(INSTALL_DIR) $(ifacedir) + for i in $(INSTALL_IFACES_WITH_DIRS); do \ + $(INSTALL_DATA) $(INSTALL_OPTS) $$i $(ifacedir)/`dirname $$i`; \ done endif @@ -791,10 +801,13 @@ ifneq "$(INSTALL_SGML_DOC)" "" ifneq "$(SGMLDocWays)" "" install-docs:: $(foreach i,$(SGMLDocWays),$(INSTALL_SGML_DOC).$i) @$(INSTALL_DIR) $(datadir) - for i in $(SGMLDocWays); do \ + @for i in $(SGMLDocWays); do \ if [ $$i = "html" ]; then \ - $(CP) -r $(INSTALL_SGML_DOC) $(datadir); \ + $(INSTALL_DIR) $(datadir)/html; \ + echo $(CP) -r $(INSTALL_SGML_DOC) $(datadir)/html; \ + $(CP) -r $(INSTALL_SGML_DOC) $(datadir)/html; \ else \ + echo $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_SGML_DOC).$$i $(datadir); \ $(INSTALL_DATA) $(INSTALL_OPTS) $(INSTALL_SGML_DOC).$$i $(datadir); \ fi \ done @@ -1100,6 +1113,7 @@ endif # the --no-print-directory flag which is passed to recursive # invocations of make. # +ifeq "$(way)" "" ifneq "$(SUBDIRS)" "" # we override the 'boot', 'all' and 'install' targets in the top @@ -1146,6 +1160,7 @@ $(ALL_TARGET) docs runtests $(BOOT_TARGET) TAGS clean distclean mostlyclean main @echo "------------------------------------------------------------------------" endif +endif # # Selectively building subdirectories.