X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fpaths.mk;h=7c282a32e16ca091c91df80b2328c3601c307c7c;hb=17817756fd8d6797e35cbae35862f572e5684efc;hp=355a64df73b83cb024e5f8fb27351da2e0d50deb;hpb=4586d01428cad472b2fbf050cd7cc00cd5d8b0a1;p=ghc-hetmet.git diff --git a/mk/paths.mk b/mk/paths.mk index 355a64d..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,13 +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) @@ -127,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) #------------------------------------------------------------------ @@ -155,19 +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) \ - a.out core -MAINTAINER_CLEAN_FILES += .depend $(BOOT_SRCS) +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)) + +# 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 *.hc 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 #------------------------------------------------------------------ # @@ -210,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 +