[project @ 1996-01-08 20:28:12 by partain]
[ghc-hetmet.git] / ghc / compiler / yaccParser / Jmakefile
diff --git a/ghc/compiler/yaccParser/Jmakefile b/ghc/compiler/yaccParser/Jmakefile
new file mode 100644 (file)
index 0000000..15b12ea
--- /dev/null
@@ -0,0 +1,112 @@
+#if IncludeTestDirsInBuild == YES
+#define IHaveSubdirs
+#define __ghc_parser_tests_dir tests
+#else
+#define __ghc_parser_tests_dir /* nothing */
+#endif
+
+SUBDIRS = __ghc_parser_tests_dir
+
+/* only subdir is the test suite */
+#define NoAllTargetForSubdirs
+#define NoDocsTargetForSubdirs
+#define NoInstallTargetForSubdirs
+#define NoInstallDocsTargetForSubdirs
+#define NoDependTargetForSubdirs
+#define NoTagTargetForSubdirs
+
+YACC_OPTS = -d
+/* add to this on the command line with, e.g., EXTRA_YACC_OPTS=-v */
+
+#if BuildDataParallelHaskell == YES
+D_DPH = -DDPH
+#endif
+
+XCOMM D_DEBUG = -DDEBUG
+
+CPP_DEFINES = $(D_DEBUG) $(D_DPH)
+
+HSP_SRCS_C = /*main.c*/ hsparser.tab.c hslexer.c id.c atype.c ttype.c \
+        tree.c literal.c coresyn.c list.c binding.c pbinding.c hpragma.c impidt.c \
+        finfot.c util.c entidt.c syntax.c type2context.c import_dirlist.c infix.c printtree.c
+
+HSP_OBJS_O = /*main.o*/ hsparser.tab.o hslexer.o id.o atype.o ttype.o \
+        tree.o literal.o coresyn.o list.o binding.o pbinding.o hpragma.o impidt.o \
+        finfot.o util.o entidt.o syntax.o type2context.o import_dirlist.o infix.o printtree.o
+
+/* DPH uses some tweaked files; here are the lists again... */
+
+#if BuildDataParallelHaskell == YES
+DPH_HSP_SRCS_C = main.c hsparser-DPH.tab.c hslexer-DPH.c id.c atype.c ttype-DPH.c \
+        tree-DPH.c literal.c coresyn.c list.c binding.c pbinding.c hpragma.c impidt.c \
+        finfot.c util.c entidt.c syntax.c type2context.c import_dirlist.c infix.c printtree.c
+
+DPH_HSP_OBJS_O = main.o hsparser-DPH.tab.o hslexer-DPH.o id.o atype.o ttype-DPH.o \
+        tree-DPH.o literal.o coresyn.o list.o binding.o pbinding.o hpragma.o impidt.o \
+        finfot.o util.o entidt.o syntax.o type2context.o import_dirlist.o infix.o printtree.o
+#endif
+
+/* this is for etags */
+REAL_HSP_SRCS_C = main.c id.c \
+        util.c syntax.c type2context.c import_dirlist.c infix.c printtree.c
+
+UgenNeededHere(all depend)
+
+BuildPgmFromCFiles(hsp,main.o,$(FLEX_LIB),libhsp.a)
+#if BuildDataParallelHaskell == YES
+BuildPgmFromCFiles(dphsp,$(DPH_HSP_OBJS_O),$(LEX_LIB),)
+#endif
+
+/* Most hsp files are in libhsp.a, so we can either make
+   a standalone parser, or incorporate the files into
+   the hsc compiler directly (WDP 94/10)
+*/
+NormalLibraryTarget(hsp,$(HSP_OBJS_O))
+
+#if DoInstallGHCSystem == YES
+MakeDirectories(install, $(INSTLIBDIR_GHC))
+InstallBinaryTarget(hsp,$(INSTLIBDIR_GHC))
+#if BuildDataParallelHaskell == YES
+InstallBinaryTarget(dphsp,$(INSTLIBDIR_GHC))
+#endif
+#endif /* DoInstall... */
+
+YaccRunWithExpectMsg(hsparser,13,2)
+
+UgenTarget(atype)
+UgenTarget(binding)
+UgenTarget(coresyn)
+UgenTarget(entidt)
+UgenTarget(finfot)
+UgenTarget(impidt)
+UgenTarget(literal)
+UgenTarget(list)
+UgenTarget(pbinding)
+UgenTarget(hpragma)
+UgenTarget(tree)
+UgenTarget(ttype)
+
+#if BuildDataParallelHaskell == YES
+YaccRunWithExpectMsg(hsparser-DPH,12,4)
+UgenTarget(tree-DPH)
+UgenTarget(ttype-DPH)
+#endif
+
+CDependTarget( $(HSP_SRCS_C) )
+
+ExtraStuffToClean( y.output )
+ExtraStuffToBeVeryClean( $(STD_VERY_CLEAN) hsparser.tab.* hsparser-DPH.tab.* hslexer.c hslexer-DPH.c )
+
+EtagsNeededHere(tags) /* need this to do "make tags" */
+ClearTagsFile()
+CTagsTarget( *.y *.lex *.ugn $(REAL_HSP_SRCS_C) )
+
+
+
+
+
+
+
+
+
+