projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[project @ 2002-11-13 12:21:08 by simonmar]
[ghc-hetmet.git]
/
mk
/
suffix.mk
diff --git
a/mk/suffix.mk
b/mk/suffix.mk
index
ade0255
..
96834fc
100644
(file)
--- a/
mk/suffix.mk
+++ b/
mk/suffix.mk
@@
-41,40
+41,48
@@
endif
# this case.
ifneq "$(BootingFromHc)" "YES"
# this case.
ifneq "$(BootingFromHc)" "YES"
-%.$(way_)o : %.hs
+# The $(odir) support is for building GHC, where we need to build three
+# different versions from the same sources. See ghc/compiler/Makefile.
+ifneq "$(odir)" ""
+odir_ = $(odir)/
+else
+odir_ =
+endif
+
+$(odir_)%.$(way_)o : %.hs
$(HC_PRE_OPTS)
$(HC_PRE_OPTS)
- $(HC) $(HC_OPTS) -c $< -o $@
+ $(HC) $(HC_OPTS) -c $< -o $@ -ohi $(basename $@).$(way_)hi
$(HC_POST_OPTS)
$(HC_POST_OPTS)
-%.$(way_)o : %.lhs
+$(odir_)%.$(way_)o : %.lhs
$(HC_PRE_OPTS)
$(HC_PRE_OPTS)
- $(HC) $(HC_OPTS) -c $< -o $@
+ $(HC) $(HC_OPTS) -c $< -o $@ -ohi $(basename $@).$(way_)hi
$(HC_POST_OPTS)
$(HC_POST_OPTS)
-%.$(way_)hc : %.lhs
+$(odir_)%.$(way_)hc : %.lhs
$(RM) $@
$(HC) $(HC_OPTS) -C $< -o $@
$(RM) $@
$(HC) $(HC_OPTS) -C $< -o $@
-%.$(way_)hc : %.hs
+$(odir_)%.$(way_)hc : %.hs
$(RM) $@
$(HC) $(HC_OPTS) -C $< -o $@
$(RM) $@
$(HC) $(HC_OPTS) -C $< -o $@
-%.$(way_)o : %.$(way_)hc
+$(odir_)%.$(way_)o : %.$(way_)hc
$(HC_PRE_OPTS)
$(HC) $(HC_OPTS) -c $< -o $@
$(HC_POST_OPTS)
$(HC_PRE_OPTS)
$(HC) $(HC_OPTS) -c $< -o $@
$(HC_POST_OPTS)
-%.$(way_)o : %.hc
+$(odir_)%.$(way_)o : %.hc
$(HC_PRE_OPTS)
$(HC) $(HC_OPTS) -c $< -o $@
$(HC_POST_OPTS)
$(HC_PRE_OPTS)
$(HC) $(HC_OPTS) -c $< -o $@
$(HC_POST_OPTS)
-%.$(way_)s : %.$(way_)hc
+$(odir_)%.$(way_)s : %.$(way_)hc
$(HC_PRE_OPTS)
$(HC) $(HC_OPTS) -S $< -o $@
$(HC_POST_OPTS)
$(HC_PRE_OPTS)
$(HC) $(HC_OPTS) -S $< -o $@
$(HC_POST_OPTS)
-%.$(way_)hc : %.lhc
+$(odir_)%.$(way_)hc : %.lhc
@$(RM) $@
$(UNLIT) $< $@
@chmod 444 $@
@$(RM) $@
$(UNLIT) $< $@
@chmod 444 $@
@@
-95,7
+103,7
@@
ifneq "$(BootingFromHc)" "YES"
else exit 0 ; \
fi
else exit 0 ; \
fi
-%.$(way_)hi : %.$(way_)hc
+$(odir_)%.$(way_)hi : %.$(way_)hc
@if [ ! -f $@ ] ; then \
echo Panic! $< exists, but $@ does not.; \
exit 1; \
@if [ ! -f $@ ] ; then \
echo Panic! $< exists, but $@ does not.; \
exit 1; \
@@
-151,37
+159,37
@@
endif
ifeq "$(UseGhcForCc)" "YES"
ifeq "$(UseGhcForCc)" "YES"
-%.$(way_)o : %.$(way_)s
+$(odir_)%.$(way_)o : %.$(way_)s
@$(RM) $@
$(HC) $(GHC_CC_OPTS) -c $< -o $@
@$(RM) $@
$(HC) $(GHC_CC_OPTS) -c $< -o $@
-%.$(way_)o : %.c
+$(odir_)%.$(way_)o : %.c
@$(RM) $@
$(HC) $(GHC_CC_OPTS) -c $< -o $@
@$(RM) $@
$(HC) $(GHC_CC_OPTS) -c $< -o $@
-%.$(way_)o : %.S
+$(odir_)%.$(way_)o : %.S
@$(RM) $@
$(HC) $(GHC_CC_OPTS) -c $< -o $@
@$(RM) $@
$(HC) $(GHC_CC_OPTS) -c $< -o $@
-%.$(way_)s : %.c
+$(odir_)%.$(way_)s : %.c
@$(RM) $@
$(HC) $(GHC_CC_OPTS) -S $< -o $@
else
@$(RM) $@
$(HC) $(GHC_CC_OPTS) -S $< -o $@
else
-%.$(way_)o : %.$(way_)s
+$(odir_)%.$(way_)o : %.$(way_)s
@$(RM) $@
$(AS) $(AS_OPTS) -o $@ $<
@$(RM) $@
$(AS) $(AS_OPTS) -o $@ $<
-%.$(way_)o : %.c
+$(odir_)%.$(way_)o : %.c
@$(RM) $@
$(CC) $(CC_OPTS) -c $< -o $@
@$(RM) $@
$(CC) $(CC_OPTS) -c $< -o $@
-%.$(way_)o : %.S
+$(odir_)%.$(way_)o : %.S
@$(RM) $@
$(CC) $(CC_OPTS) -c $< -o $@
@$(RM) $@
$(CC) $(CC_OPTS) -c $< -o $@
-%.$(way_)s : %.c
+$(odir_)%.$(way_)s : %.c
@$(RM) $@
$(CC) $(CC_OPTS) -S $< -o $@
@$(RM) $@
$(CC) $(CC_OPTS) -S $< -o $@