X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Ftarget.mk;h=2843334475338ee14a287595f396185f1c58e0e8;hb=6e5df3a4551b8d8b83e936b3f7b52edfc778ca8a;hp=a76b9f71d78bda4b71af773fe5442f8c51785ed3;hpb=7a6b4575709851a7d3e391497a53afd69fcd0e76;p=ghc-hetmet.git diff --git a/mk/target.mk b/mk/target.mk index a76b9f7..2843334 100644 --- a/mk/target.mk +++ b/mk/target.mk @@ -44,6 +44,11 @@ PRE_SRCS := $(ALL_SRCS) include $(TOP)/mk/package.mk +################################################################### +# Suffix rules for Haskell, C and literate + +include $(TOP)/mk/suffix.mk + ################################################################## # FPtools standard targets # @@ -72,7 +77,13 @@ include $(TOP)/mk/package.mk # Compiler produced files that are targets of the source's imports. MKDEPENDHS_OBJ_SUFFICES=o -depend :: $(MKDEPENDHS_SRCS) $(MKDEPENDC_SRCS) +ifneq "$(STAMP_PKG_CONF)" "" +PKGCONF_DEP = $(STAMP_PKG_CONF) +else +PKGCONF_DEP = +endif + +depend :: $(MKDEPENDHS_SRCS) $(MKDEPENDC_SRCS) $(STAMP_PKG_CONF) @$(RM) .depend @touch .depend ifneq "$(DOC_SRCS)" "" @@ -169,7 +180,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. @@ -232,9 +243,6 @@ else $(HS_PROG) :: $(HS_OBJS) $(CC) -o $@ $(HC_BOOT_CC_OPTS) $(HC_BOOT_LD_OPTS) $(HS_OBJS) $(HC_BOOT_LIBS) endif - -# for building a Haskell program, we add FptoolsHcOpts -SRC_HC_OPTS += $(FptoolsHcOpts) endif #---------------------------------------- @@ -296,9 +304,8 @@ SRC_HC_OPTS += -split-objs ifeq "$(ArSupportsInput)" "" define BUILD_LIB $(RM) $@ $@.tmp -(echo $(STUBOBJS) $(EXTRA_OBJS); $(FIND) $(patsubst %.$(way_)o,%_split,$(HS_OBJS)) -name '*.$(way_)o') | xargs ar q $@.tmp -$(RANLIB) $@.tmp -$(MV) $@.tmp $@ +(echo $(STUBOBJS) $(EXTRA_OBJS); $(FIND) $(patsubst %.$(way_)o,%_split,$(HS_OBJS)) -name '*.$(way_)o') | xargs ar q $@ +$(RANLIB) $@ endef else define BUILD_LIB @@ -306,10 +313,9 @@ $(RM) $@ $@.tmp echo $(STUBOBJS) > $@.list echo $(EXTRA_OBJS) >> $@.list $(FIND) $(patsubst %.$(way_)o,%_split,$(HS_OBJS)) -name '*.$(way_)o' >> $@.list -$(AR) $(AR_OPTS) $@.tmp $(ArSupportsInput) $@.list +$(AR) $(AR_OPTS) $@ $(ArSupportsInput) $@.list $(RM) $@.list -$(RANLIB) $@.tmp -$(MV) $@.tmp $@ +$(RANLIB) $@ endef endif @@ -644,6 +650,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. @@ -764,11 +771,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 @@ -792,10 +807,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