X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=mk%2Fpaths.mk;h=7c282a32e16ca091c91df80b2328c3601c307c7c;hb=57c3ca2603ef0f2358d8d246bff1dd47ef97e843;hp=2f7d9dfd1fabfad23426481e91a1a74f7b83eac0;hpb=604bfdd04c877c6a76139f6f1368349ddf0a8515;p=ghc-hetmet.git diff --git a/mk/paths.mk b/mk/paths.mk index 2f7d9df..7c282a3 100644 --- a/mk/paths.mk +++ b/mk/paths.mk @@ -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,12 +165,20 @@ 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) $(SCRIPT_LINK) \ - $(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. @@ -169,7 +186,7 @@ MAINTAINER_CLEAN_FILES += .depend $(BOOT_SRCS) MOSTLY_CLEAN_FILES += \ *.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 *.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 +