Skip to content

Commit af0c49f

Browse files
committed
fix: Makefile
1 parent fc76d29 commit af0c49f

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

Makefile

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
export GHC0 ?= ghc-9.8.4
22
export CABAL0 ?= _stage0/bin/cabal
33

4-
STAGE = 1
5-
STAGE_DIR = _stage$(STAGE)
4+
STAGE_DIR = $(abspath _$(STAGE))
65

76
CABAL_ARGS += --store-dir $(abspath $(STAGE_DIR)/store)
87
CABAL_ARGS += --logs-dir $(abspath $(STAGE_DIR)/logs)
@@ -24,21 +23,22 @@ $(CONFIGURE) : % : %.ac
2423

2524
$(CABAL0):
2625
mkdir -p $(@D)
27-
cabal install --project-dir libraries/Cabal --installdir $(abspath $(@D)) cabal-install:exe:cabal
26+
cabal install --project-dir libraries/Cabal --installdir $(abspath $(@D)) --overwrite-policy=always cabal-install:exe:cabal
2827

29-
STAGE1_EXES += ghc unlit
28+
PROJECT_FILE = cabal.project.$(STAGE)
3029

3130
define STAGE_RULES
32-
STAGE$(STAGE)_TARGETS += $(addprefix $(STAGE_DIR)/bin/,$(STAGE$(STAGE)_EXES))
33-
34-
.PHONY: stage$(STAGE)
35-
stage$(STAGE): $$(STAGE$(STAGE)_TARGETS)
36-
37-
$$(STAGE$(STAGE)_TARGETS) &: $(CABAL0) $(CONFIGURE)
38-
$(CABAL0) $(CABAL_ARGS) install --project-file cabal.project.stage$(STAGE) --installdir $$(abspath $$(@D)) $(addprefix exe:,$(STAGE$(STAGE)_EXES))
31+
$(let EXES,$(addprefix $(STAGE_DIR)/bin/,$($(STAGE)_TARGETS)),
32+
.PHONY: $(STAGE)
33+
$(STAGE)_EXES = $(EXES)
34+
$(STAGE): $(EXES)
35+
$(EXES) &: $(CABAL0) $(PROJECT_FILE) $(CONFIGURE)
36+
$(CABAL0) $(CABAL_ARGS) install --project-file $(PROJECT_FILE) --installdir $(STAGE_DIR)/bin --overwrite-policy=always $(addprefix exe:,$($(STAGE)_TARGETS))\
37+
)
3938
endef
4039

41-
STAGE = 1
40+
STAGE = stage1
41+
stage1_TARGETS = ghc ghc-toolchain-bin
4242
$(eval $(STAGE_RULES))
4343

4444
clean:

0 commit comments

Comments
 (0)