# -----------------------------------------------------------------------------
-# $Id: Makefile,v 1.85 2000/07/21 08:45:05 rrt Exp $
+# $Id: Makefile,v 1.93 2000/09/29 15:59:28 sewardj Exp $
TOP = ..
include $(TOP)/mk/boilerplate.mk
DIRS = \
utils basicTypes types hsSyn prelude rename typecheck deSugar coreSyn \
specialise simplCore stranal stgSyn simplStg codeGen absCSyn main \
- profiling parser usageSP cprAnalysis javaGen
+ profiling parser usageSP cprAnalysis javaGen ghci
ifeq ($(GhcWithNativeCodeGen),YES)
# separate bugfix to the fixpoint finder.
simplStg/UpdAnal_HC_OPTS = -fno-strictness
+stgSyn/StgInterp_HC_OPTS = -fvia-C
+
# ----------------------------------------------------------------------------
# C compilations
# ----------------------------------------------------------------------------
+# Generate supporting stuff for prelude/PrimOp.lhs
+# from prelude/primops.txt
+
+GENPOC=$(TOP)/utils/genprimopcode/genprimopcode
+
+PRIMOP_BITS=primop-data-decl.hs-incl \
+ primop-tag.hs-incl \
+ primop-list.hs-incl \
+ primop-has-side-effects.hs-incl \
+ primop-out-of-line.hs-incl \
+ primop-commutable.hs-incl \
+ primop-needs-wrapper.hs-incl \
+ primop-can-fail.hs-incl \
+ primop-strictness.hs-incl \
+ primop-usage.hs-incl \
+ primop-primop-info.hs-incl
+
+prelude/PrimOp.o: $(PRIMOP_BITS)
+
+depend :: $(PRIMOP_BITS)
+
+primop-data-decl.hs-incl: prelude/primops.txt
+ $(GENPOC) --data-decl < $< > $@
+primop-tag.hs-incl: prelude/primops.txt
+ $(GENPOC) --primop-tag < $< > $@
+primop-list.hs-incl: prelude/primops.txt
+ $(GENPOC) --primop-list < $< > $@
+primop-has-side-effects.hs-incl: prelude/primops.txt
+ $(GENPOC) --has-side-effects < $< > $@
+primop-out-of-line.hs-incl: prelude/primops.txt
+ $(GENPOC) --out-of-line < $< > $@
+primop-commutable.hs-incl: prelude/primops.txt
+ $(GENPOC) --commutable < $< > $@
+primop-needs-wrapper.hs-incl: prelude/primops.txt
+ $(GENPOC) --needs-wrapper < $< > $@
+primop-can-fail.hs-incl: prelude/primops.txt
+ $(GENPOC) --can-fail < $< > $@
+primop-strictness.hs-incl: prelude/primops.txt
+ $(GENPOC) --strictness < $< > $@
+primop-usage.hs-incl: prelude/primops.txt
+ $(GENPOC) --usage < $< > $@
+primop-primop-info.hs-incl: prelude/primops.txt
+ $(GENPOC) --primop-primop-info < $< > $@
+
+
+
+# ----------------------------------------------------------------------------
# Parsers/lexers
parser/hschooks.o : parser/hschooks.c
# clean
CLEAN_FILES += $(wildcard */*.$(way_)o */*.$(way_)hi)
+CLEAN_FILES += $(PRIMOP_BITS)
# Extra tidy, remove the .hc files (if you've got them).
MAINTAINER_CLEAN_FILES += $(wildcard */*.hc) \