X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Ftarget.mk;h=338c8cff94d751972a47596a1f47d33439b626a7;hb=95ed34fa57157f96ede505b57c5b0b98f22cac16;hp=206bd8f2cc9c1f7d49306b9ff6b0ca2b2d55a248;hpb=b1a806e77f0fbdd6de6bdf2304ce73a388f0a810;p=ghc-hetmet.git diff --git a/mk/target.mk b/mk/target.mk index 206bd8f..338c8cf 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,11 @@ 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 "$(BootingFromHc)" "YES" +PKGCONF_DEP = $(STAMP_PKG_CONF) +endif + +depend :: $(MKDEPENDHS_SRCS) $(MKDEPENDC_SRCS) $(PKGCONF_DEP) @$(RM) .depend @touch .depend ifneq "$(DOC_SRCS)" "" @@ -169,7 +178,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 +241,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,20 +302,19 @@ 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) $(C_OBJS) $(GC_C_OBJS); $(FIND) $(patsubst %.$(way_)o,%_split,$(HS_OBJS)) -name '*.$(way_)o' -print) | xargs $(AR) $@ +$(RANLIB) $@ endef else define BUILD_LIB $(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 +echo $(STUBOBJS) > $@.list +echo $(C_OBJS) >> $@.list +echo $(GC_C_OBJS) >> $@.list +$(FIND) $(patsubst %.$(way_)o,%_split,$(HS_OBJS)) -name '*.$(way_)o' -print >> $@.list +$(AR) $(AR_OPTS) $@ $(ArSupportsInput) $@.list $(RM) $@.list -$(RANLIB) $@.tmp -$(MV) $@.tmp $@ +$(RANLIB) $@ endef endif @@ -317,7 +322,7 @@ endif HC_SPLIT_PRE = \ $(RM) $@; if [ ! -d $(basename $@)_split ]; then mkdir $(basename $@)_split; else \ - $(FIND) $(basename $@)_split -name '*.$(way_)o' | xargs $(RM) __rm_food; fi + $(FIND) $(basename $@)_split -name '*.$(way_)o' -print | xargs $(RM) __rm_food; fi ifeq "$(GhcWithInterpreter)" "YES" HC_SPLIT_POST = (cd $(dir $@) && $(LD) -r $(LD_X) -o $(notdir $@) $(basename $(notdir $@))_split/*.$(way_)o) else @@ -617,11 +622,11 @@ $(LINK) : $(LINK_TARGET) install :: @$(INSTALL_DIR) $(bindir) @if ( $(PERL) -e '$$fn="$(bindir)/$(LINK)"; exit ((! -f $$fn || -l $$fn) ? 0 : 1);' ); then \ - echo "Creating a symbol link from $(LINK_TARGET) to $(LINK) in $(bindir)"; \ + echo "Creating a symbolic link from $(LINK_TARGET) to $(LINK) in $(bindir)"; \ $(RM) $(bindir)/$(LINK); \ $(LN_S) $(LINK_TARGET) $(bindir)/$(LINK); \ else \ - echo "Creating a symbol link from $(LINK_TARGET) to $(LINK) in $(bindir) failed: \`$(bindir)/$(LINK)' already exists"; \ + echo "Creating a symbolic link from $(LINK_TARGET) to $(LINK) in $(bindir) failed: \`$(bindir)/$(LINK)' already exists"; \ echo "Perhaps remove \`$(bindir)/$(LINK)' manually?"; \ exit 1; \ fi; @@ -879,7 +884,7 @@ tags TAGS:: $(TAGS_HS_SRCS) $(TAGS_C_SRCS) @$(RM) TAGS @touch TAGS ifneq "$(TAGS_HS_SRCS)" "" - $(HSTAGS) $(HSTAGS_OPTS) -- $(TAGS_HS_SRCS) + $(HSTAGS) $(HSTAGS_OPTS) $(TAGS_HS_SRCS) endif ifneq "$(TAGS_C_SRCS)" "" etags -a $(TAGS_C_SRCS) @@ -1113,7 +1118,7 @@ endif # the --no-print-directory flag which is passed to recursive # invocations of make. # -ifeq "$(way)" "" +#ifeq "$(way)" "" ifneq "$(SUBDIRS)" "" # we override the 'boot', 'all' and 'install' targets in the top @@ -1160,7 +1165,7 @@ $(ALL_TARGET) docs runtests $(BOOT_TARGET) TAGS clean distclean mostlyclean main @echo "------------------------------------------------------------------------" endif -endif +#endif # # Selectively building subdirectories.