X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=mk%2Fpaths.mk;h=aff12743bc458c1bb81e07cda5cb5d1d85e3c141;hp=046347a90521f7ba091b3ed5d49d37935da36f90;hb=fd1375dd261725eb00969a3017b924369c09835c;hpb=5908f01ae39d6397955313badf2fc1ff69150685 diff --git a/mk/paths.mk b/mk/paths.mk index 046347a..aff1274 100644 --- a/mk/paths.mk +++ b/mk/paths.mk @@ -53,6 +53,8 @@ ALL_SRCS = $(wildcard $(patsubst ./%, %, \ $(patsubst %,%/*.hs, . $(ALL_DIRS)) \ $(patsubst %,%/*.lhs, . $(ALL_DIRS)) \ + $(patsubst %,%/*.hs-boot, . $(ALL_DIRS)) \ + $(patsubst %,%/*.lhs-boot, . $(ALL_DIRS)) \ $(patsubst %,%/*.y, . $(ALL_DIRS)) \ $(patsubst %,%/*.ly, . $(ALL_DIRS)) \ $(patsubst %,%/*.x, . $(ALL_DIRS)) \ @@ -76,6 +78,9 @@ ALL_SRCS = $(wildcard $(patsubst ./%, %, \ PRE_HS_SRCS = $(filter %.hs, $(PRE_SRCS)) PRE_LHS_SRCS = $(filter %.lhs, $(PRE_SRCS)) +PRE_HS_BOOT_SRCS = $(filter %.hs-boot, $(PRE_SRCS)) \ + $(filter %.lhs-boot, $(PRE_SRCS)) + GC_SRCS = $(filter %.gc, $(PRE_SRCS)) HSC_SRCS = $(filter %.hsc, $(PRE_SRCS)) HAPPY_Y_SRCS = $(filter %.y, $(PRE_SRCS)) @@ -141,6 +146,12 @@ HS_SRCS = $(filter %.lhs %.hs, $(sort $(SRCS) $(BOOT_SRCS))) HS_OBJS = $(addsuffix .$(way_)o,$(basename $(HS_SRCS))) HS_IFACES = $(addsuffix .$(way_)hi,$(basename $(HS_SRCS))) +HI_BOOTS = $(patsubst %.hs-boot, %.$(way_)hi-boot, \ + $(patsubst %.lhs-boot, %.$(way_)hi-boot, $(PRE_HS_BOOT_SRCS))) + +O_BOOTS = $(patsubst %.hs-boot, %.$(way_)o-boot, \ + $(patsubst %.lhs-boot, %.$(way_)o-boot, $(PRE_HS_BOOT_SRCS))) + GC_C_OBJS = $(addsuffix _stub_ffi.$(way_)o,$(basename $(filter %.gc,$(SRCS)))) HSC_C_OBJS = $(addsuffix _hsc.$(way_)o,$(basename $(filter %.hsc,$(SRCS)))) @@ -219,14 +230,15 @@ TAGS_C_SRCS=$(C_SRCS) # # NOTE: $(SCRIPT_OBJS) is not in MOSTLY_CLEAN_FILES, because in some # places in the tree it appears that we have source files in $(SCRIPT_OBJS). -# Specifically glafp-utils/mkdependC/mkdependC.prl and others in ghc/driver and +# Specifically glafp-utils/mkdependC/mkdependC.prl and others in driver/ and # possibly others elsewhere in the tree. ToDo: fix this properly. MOSTLY_CLEAN_FILES += $(HS_OBJS) $(C_OBJS) $(HSC_C_OBJS) $(GC_C_OBJS) CLEAN_FILES += $(HS_PROG) $(C_PROG) $(SCRIPT_PROG) $(SCRIPT_LINK) \ $(PROG) $(LIBRARY) a.out \ $(DERIVED_HSC_SRCS) \ $(DERIVED_GC_SRCS) \ - $(patsubst %,%/*.$(way_)hi, . $(ALL_DIRS)) + $(patsubst %,%/*.$(way_)hi, . $(ALL_DIRS)) \ + $(HI_BOOTS) $(O_BOOTS) # we delete *all* the .hi files we can find, rather than just # $(HS_IFACES), because stale interfaces left around by modules which @@ -250,45 +262,6 @@ MOSTLY_CLEAN_FILES += \ *.toc *.lot *.lof *.blg *.cb *_stub.c *_stub.h *.raw_s *.a.list #------------------------------------------------------------------ -# -# Distribution setup -# -# Following variables are used for creating source and binary distributions: -# -# SRC_DIST_NAME && BIN_DIST_NAME -- the package names -# -# SRC_DIST_FILES = list of extra files to include from a build tree into a source -# distribution -# -# SRC_DIST_DIR = what the current directory in the source/build tree -# maps to in the source distrib. tree being created. -# -SRC_DIST_NAME=$(ProjectNameShort)-$(ProjectVersion) - -# -# Binary distributions proceeds as follows: -# -# Fromthe top of a build tree, you do `make binary-dist'. The -# canned rule for this (in target.mk) will then do a binary -# install to a temporary directory before packaging it all up. -# The following variables guide the binary-dist: -# -# BIN_DIST_TMPDIR= the absolute path to where the temporary directory -# structure of a binary distribution should be created. -# [Default: toplevel from which you issue `make binary-dist'] -# BIN_DIST_NAME= what to call the thing. -# -# BIN_DIST_DIRS= at the toplevel, list of directories to descend into when -# building the distribution tree. -# -# An extra directory variable that is set during bin-dists is $(bindist_top), giving -# the abs. path to the root of the binary installation tree. (useful when punting -# stuff like README and ANNOUNCE into a distrib, for instance) -# -# The layout of a binary distribution is described in the -# installation documentation. -# - # 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