X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fpaths.mk;h=7c282a32e16ca091c91df80b2328c3601c307c7c;hb=c00120a25c064f01e272cd5d1972caa760809d94;hp=13b1e81ae7acb12cf62079ee60ed6c165d0b61cb;hpb=438596897ebbe25a07e1c82085cfbc5bdb00f09e;p=ghc-hetmet.git diff --git a/mk/paths.mk b/mk/paths.mk index 13b1e81..7c282a3 100644 --- a/mk/paths.mk +++ b/mk/paths.mk @@ -51,8 +51,8 @@ SRC_INSTALL_OPTS += $(INSTALL_OWNER) $(INSTALL_GROUP) # of targets: # -INSTALL_PROGRAM = $(INSTALL) -INSTALL_SCRIPT = $(INSTALL) +INSTALL_PROGRAM = $(INSTALL) -m 755 +INSTALL_SCRIPT = $(INSTALL) -m 755 INSTALL_DATA = $(INSTALL) -m 644 INSTALL_DIR = $(FPTOOLS_TOP)/glafp-utils/mkdirhier/mkdirhier @@ -97,14 +97,17 @@ INSTALL_DIR = $(FPTOOLS_TOP)/glafp-utils/mkdirhier/mkdirhier # (caveat: assuming no funny use of -hisuf and that # file name and module name match) -SRCS=$(wildcard *.lhs *.hs *.c *.lc *.prl *.lprl *.lit *.verb) +HSC_SRCS = $(wildcard *.hsc) +SRCS = $(wildcard *.lhs *.hs *.c *.prl *.lprl *.lit *.verb) \ + $(patsubst %.hsc,%.hs,$(HSC_SRCS)) -HS_SRCS=$(filter %.lhs %.hs %.hc,$(SRCS) $(BOOT_SRCS)) +HS_SRCS=$(filter %.lhs %.hs %.hc,$(sort $(SRCS) $(BOOT_SRCS))) HS_OBJS=$(addsuffix .$(way_)o,$(basename $(HS_SRCS))) HS_HCS=$(addsuffix .$(way_)hc,$(basename $(HS_SRCS))) +HS_SS=$(addsuffix .$(way_)s,$(basename $(HS_SRCS))) HS_IFACES=$(addsuffix .$(way_)hi,$(basename $(HS_SRCS))) -C_SRCS=$(filter %.lc %.c,$(SRCS)) +C_SRCS=$(filter %.c,$(SRCS)) C_OBJS=$(addsuffix .$(way_)o,$(basename $(C_SRCS))) # SCRIPT_SRCS: list of raw script files (in literate form) @@ -128,7 +131,13 @@ OBJS=$(HS_OBJS) $(C_OBJS) $(SCRIPT_OBJS) # The default set of files for the dependency generators to work on # is just their source equivalents. # + +ifneq "$(BootingFromHc)" "YES" MKDEPENDHS_SRCS=$(HS_SRCS) +else +MKDEPENDHS_SRCS= +endif + MKDEPENDC_SRCS=$(C_SRCS) #------------------------------------------------------------------ @@ -156,20 +165,28 @@ TAGS_C_SRCS=$(C_SRCS) # that may require extra tools to create. # # -MOSTLY_CLEAN_FILES += $(HS_OBJS) $(C_OBJS) -CLEAN_FILES += $(HS_PROG) $(C_PROG) $(SCRIPT_PROG) $(PROG) \ - $(LIBRARY) $(HS_IFACES) $(HS_HCS) \ - a.out +MOSTLY_CLEAN_FILES += $(HS_OBJS) $(C_OBJS) +CLEAN_FILES += $(HS_PROG) $(C_PROG) $(SCRIPT_PROG) $(SCRIPT_LINK) \ + $(PROG) $(LIBRARY) $(HS_IFACES) $(HS_SS) a.out \ + $(patsubst %.hsc,%.hs,$(HSC_SRCS)) \ + $(patsubst %.hsc,%_hsc.c,$(HSC_SRCS)) \ + $(patsubst %.hsc,%_hsc.h,$(HSC_SRCS)) -MAINTAINER_CLEAN_FILES += .depend $(BOOT_SRCS) +# Don't clean the .hc files if we're bootstrapping +ifneq "$(BootingFromHc)" "YES" +CLEAN_FILES += $(HS_HCS) +endif + +DIST_CLEAN_FILES += .depend +MAINTAINER_CLEAN_FILES += $(BOOT_SRCS) # # `Standard' set of files to clean out. # MOSTLY_CLEAN_FILES += \ - *.CKP *.ln *.BAK *.bak *.o *core a.out errs ,* *.a .emacs_* \ + *.CKP *.ln *.BAK *.bak .*.bak *.o *core a.out errs ,* *.a .emacs_* \ tags TAGS *.ind *.ilg *.idx *.idx-prev *.aux *.aux-prev *.dvi *.log \ - *.toc *.lot *.lof *.blg *.info *.itxi *.itex *.ihtml *.cb + *.toc *.lot *.lof *.blg *.cb *_stub.c *_stub.h *.raw_s #------------------------------------------------------------------ # @@ -212,3 +229,8 @@ SRC_DIST_NAME=$(ProjectNameShort)-$(ProjectVersion) # +# Directory in which DLLs are dumped so as not to get picked up by running +# programs (e.g. ghc or hsc) that run in the build tree + +DLL_PEN = $(FPTOOLS_TOP)/dll +