X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FJmakefile;h=e3496adfa276b9648bb35b6745df5e9a7c5d137d;hb=26741ec416bae2c502ef00a2ba0e79050a32cb67;hp=55a455e0b8493bb94d56493ecf24e34248a93091;hpb=7d61cb61daa5e433a0cb85b34b7f0c58b2f961ff;p=ghc-hetmet.git diff --git a/ghc/compiler/Jmakefile b/ghc/compiler/Jmakefile index 55a455e..e3496ad 100644 --- a/ghc/compiler/Jmakefile +++ b/ghc/compiler/Jmakefile @@ -25,7 +25,12 @@ SUBDIRS = __ghc_compiler_tests_dir */ SuffixRules_flexish() SuffixRule_c_o() -LitSuffixRule(.lprl,.prl) /* for makeSymbolList.prl */ + +.SUFFIXES: .lhi +.lhi.hi: + $(RM) $@ + $(GHC_UNLIT) $< $@ + @chmod 444 $@ /* assume ALL source is in subdirectories one level below they don't have Jmakefiles; this Jmakefile controls everything @@ -59,9 +64,7 @@ NATIVEGEN_DIR=$(TOP_PWD)/$(CURRENT_DIR)/nativeGen parser/U_constr.hs \ parser/U_binding.hs \ parser/U_pbinding.hs \ -parser/U_coresyn.hs \ parser/U_entidt.hs \ -parser/U_hpragma.hs \ parser/U_list.hs \ parser/U_literal.hs \ parser/U_maybe.hs \ @@ -76,7 +79,6 @@ parser/U_ttype.hs parser/UgenUtil.lhs \ parser/UgenAll.lhs \ reader/ReadPrefix.lhs \ -reader/ReadPragmas.lhs \ \ reader/PrefixSyn.lhs \ reader/PrefixToHs.lhs \ @@ -101,10 +103,8 @@ basicTypes/IdInfo.lhs \ basicTypes/IdUtils.lhs \ basicTypes/Literal.lhs \ basicTypes/Name.lhs \ -basicTypes/NameTypes.lhs \ basicTypes/PprEnv.lhs \ basicTypes/PragmaInfo.lhs \ -basicTypes/ProtoName.lhs \ basicTypes/SrcLoc.lhs \ basicTypes/UniqSupply.lhs \ basicTypes/Unique.lhs \ @@ -119,20 +119,20 @@ types/Type.lhs \ \ specialise/SpecEnv.lhs +#define RENAMERSRCS_HS \ +rename/ParseIface.hs #define RENAMERSRCS_LHS \ -rename/RnPass1.lhs \ -rename/RnPass2.lhs \ -rename/RnPass3.lhs \ -rename/RnPass4.lhs \ +rename/ParseUtils.lhs \ rename/RnHsSyn.lhs \ -rename/RnUtils.lhs \ -rename/RnMonad12.lhs \ -rename/RnMonad3.lhs \ -rename/RnMonad4.lhs \ -rename/RnBinds4.lhs \ -rename/RnExpr4.lhs \ -rename/Rename.lhs +rename/RnMonad.lhs \ +rename/Rename.lhs \ +rename/RnNames.lhs \ +rename/RnSource.lhs \ +rename/RnBinds.lhs \ +rename/RnExpr.lhs \ +rename/RnIfaces.lhs \ +rename/RnUtils.lhs #define TCSRCS_LHS \ typecheck/TcHsSyn.lhs \ @@ -159,7 +159,6 @@ typecheck/TcPat.lhs \ typecheck/TcSimplify.lhs \ typecheck/TcTyClsDecls.lhs \ typecheck/TcTyDecls.lhs \ -typecheck/Typecheck.lhs \ typecheck/Unify.lhs /* @@ -231,9 +230,7 @@ stranal/StrictAnal.lhs \ stranal/SaLib.lhs \ stranal/SaAbsInt.lhs \ stranal/WwLib.lhs \ -stranal/WorkWrap.lhs \ -\ -profiling/SCCauto.lhs DEFORESTER_SRCS_LHS +stranal/WorkWrap.lhs DEFORESTER_SRCS_LHS #define STG_SRCS_LHS \ stgSyn/CoreToStg.lhs \ @@ -324,14 +321,10 @@ utils/Unpretty.lhs \ utils/Util.lhs #define MAIN_SRCS_LHS \ -main/MainMonad.lhs \ main/CmdLineOpts.lhs \ main/ErrUtils.lhs \ -main/Main.lhs - -/* main/MkIface.lhs \ -*/ +main/Main.lhs #define VBASICSRCS_LHS \ prelude/PrelMods.lhs \ @@ -352,21 +345,44 @@ profiling/CostCentre.lhs \ simplCore/BinderInfo.lhs \ simplCore/MagicUFs.lhs -ALLSRCS_HS = READERSRCS_HS +ALLSRCS_HS = READERSRCS_HS RENAMERSRCS_HS ALLSRCS_LHS = /* all pieces of the compiler */ \ VBASICSRCS_LHS \ NOT_SO_BASICSRCS_LHS \ UTILSRCS_LHS \ MAIN_SRCS_LHS \ READERSRCS_LHS \ -RENAMERSRCS_LHS \ -TCSRCS_LHS \ +RENAMERSRCS_LHS \ +TCSRCS_LHS \ DSSRCS_LHS \ SIMPL_SRCS_LHS \ STG_SRCS_LHS \ BACKSRCS_LHS NATIVEGEN_SRCS_LHS +#if GhcBuilderVersion >= 200 +# define loop_hi(f) CAT3(f,_1_3,.hi) +#else +# define loop_hi(f) CAT2(f,.hi) +#endif + +DELOOP_HIs = \ +utils/Ubiq.hi \ +absCSyn/AbsCLoop.hi \ +basicTypes/IdLoop.hi \ +codeGen/CgLoop1.hi \ +codeGen/CgLoop2.hi \ +deSugar/DsLoop.hi \ +hsSyn/HsLoop.hi \ +nativeGen/NcgLoop.hi \ +prelude/PrelLoop.hi \ +rename/RnLoop.hi \ +simplCore/SmplLoop.hi \ +typecheck/TcMLoop.hi \ +typecheck/TcLoop.hi \ +types/TyLoop.hi + /* +\ */ /* NB: all the ones that may be empty (e.g., NATIVEGEN_SRCS_LHS) need to be on the last line. @@ -386,7 +402,7 @@ ALLINTS=$(ALLSRCS_LHS:.lhs=.hi) $(ALLSRCS_HS:.hs=.hi) #endif #if GhcWithHscOptimised == YES -#define __version_sensitive_flags -DUSE_ATTACK_PRAGMAS -fshow-pragma-name-errs -fomit-reexported-instances -fshow-import-specs +#define __version_sensitive_flags -O /*-DUSE_ATTACK_PRAGMAS -fshow-pragma-name-errs*/ -fomit-reexported-instances -fshow-import-specs #else #define __version_sensitive_flags -fomit-reexported-instances #endif @@ -480,39 +496,10 @@ HaskellCompileWithExtraFlags_Recursive(module,isuf,o,-c,extra_flags) /* OK, here we go: */ -utils/Ubiq.hi : utils/Ubiq.lhi - $(GHC_UNLIT) utils/Ubiq.lhi utils/Ubiq.hi - -absCSyn/AbsCLoop.hi : absCSyn/AbsCLoop.lhi - $(GHC_UNLIT) absCSyn/AbsCLoop.lhi absCSyn/AbsCLoop.hi -basicTypes/IdLoop.hi : basicTypes/IdLoop.lhi - $(GHC_UNLIT) basicTypes/IdLoop.lhi basicTypes/IdLoop.hi -basicTypes/NameLoop.hi : basicTypes/NameLoop.lhi - $(GHC_UNLIT) basicTypes/NameLoop.lhi basicTypes/NameLoop.hi -codeGen/CgLoop1.hi : codeGen/CgLoop1.lhi - $(GHC_UNLIT) codeGen/CgLoop1.lhi codeGen/CgLoop1.hi -codeGen/CgLoop2.hi : codeGen/CgLoop2.lhi - $(GHC_UNLIT) codeGen/CgLoop2.lhi codeGen/CgLoop2.hi -deSugar/DsLoop.hi : deSugar/DsLoop.lhi - $(GHC_UNLIT) deSugar/DsLoop.lhi deSugar/DsLoop.hi -hsSyn/HsLoop.hi : hsSyn/HsLoop.lhi - $(GHC_UNLIT) hsSyn/HsLoop.lhi hsSyn/HsLoop.hi -nativeGen/NcgLoop.hi : nativeGen/NcgLoop.lhi - $(GHC_UNLIT) nativeGen/NcgLoop.lhi nativeGen/NcgLoop.hi -prelude/PrelLoop.hi : prelude/PrelLoop.lhi - $(GHC_UNLIT) prelude/PrelLoop.lhi prelude/PrelLoop.hi -reader/RdrLoop.hi : reader/RdrLoop.lhi - $(GHC_UNLIT) reader/RdrLoop.lhi reader/RdrLoop.hi -rename/RnLoop.hi : rename/RnLoop.lhi - $(GHC_UNLIT) rename/RnLoop.lhi rename/RnLoop.hi -simplCore/SmplLoop.hi : simplCore/SmplLoop.lhi - $(GHC_UNLIT) simplCore/SmplLoop.lhi simplCore/SmplLoop.hi -typecheck/TcMLoop.hi : typecheck/TcMLoop.lhi - $(GHC_UNLIT) typecheck/TcMLoop.lhi typecheck/TcMLoop.hi -typecheck/TcLoop.hi : typecheck/TcLoop.lhi - $(GHC_UNLIT) typecheck/TcLoop.lhi typecheck/TcLoop.hi -types/TyLoop.hi : types/TyLoop.lhi - $(GHC_UNLIT) types/TyLoop.lhi types/TyLoop.hi +rename/ParseIface.hs : rename/ParseIface.y + $(RM) rename/ParseIface.hs rename/ParseIface.hinfo + happy -g -i rename/ParseIface.hinfo rename/ParseIface.y + @chmod 444 rename/ParseIface.hs compile(absCSyn/AbsCUtils,lhs,) compile(absCSyn/CStrings,lhs,) @@ -540,10 +527,8 @@ compile(basicTypes/IdInfo,lhs,-K2m) compile(basicTypes/IdUtils,lhs,) compile(basicTypes/Literal,lhs,) compile(basicTypes/Name,lhs,) -compile(basicTypes/NameTypes,lhs,) compile(basicTypes/PprEnv,lhs,) compile(basicTypes/PragmaInfo,lhs,) -compile(basicTypes/ProtoName,lhs,) compile(basicTypes/SrcLoc,lhs,) compile(basicTypes/UniqSupply,lhs,) compile(basicTypes/Unique,lhs,) @@ -592,22 +577,21 @@ compile(deSugar/MatchLit,lhs,) compile(main/CmdLineOpts,lhs,if_ghc(-fvia-C)) compile(main/ErrUtils,lhs,) compile(main/Main,lhs,if_ghc(-fvia-C)) -compile(main/MainMonad,lhs,) compile(main/MkIface,lhs,) #if GhcWithNativeCodeGen == YES compile(nativeGen/AbsCStixGen,lhs,) compile(nativeGen/AsmCodeGen,lhs,-I$(COMPINFO_DIR)) compile(nativeGen/AsmRegAlloc,lhs,-I$(COMPINFO_DIR)) -compile(nativeGen/MachCode,lhs,) -compile(nativeGen/MachMisc,lhs,) -compile(nativeGen/MachRegs,lhs,) -compile(nativeGen/PprMach,lhs,) -compile(nativeGen/RegAllocInfo,lhs,) +compile(nativeGen/MachCode,lhs,-I$(NATIVEGEN_DIR)) +compile(nativeGen/MachMisc,lhs,-I$(NATIVEGEN_DIR)) +compile(nativeGen/MachRegs,lhs,-I$(NATIVEGEN_DIR)) +compile(nativeGen/PprMach,lhs,-I$(NATIVEGEN_DIR)) +compile(nativeGen/RegAllocInfo,lhs,-I$(NATIVEGEN_DIR)) compile(nativeGen/Stix,lhs,) -compile(nativeGen/StixInfo,lhs,-I$(NATIVEGEN_DIR)) +compile(nativeGen/StixInfo,lhs,) compile(nativeGen/StixInteger,lhs,) -compile(nativeGen/StixMacro,lhs,-I$(NATIVEGEN_DIR)) +compile(nativeGen/StixMacro,lhs,) compile(nativeGen/StixPrim,lhs,) #endif @@ -619,28 +603,25 @@ compile(prelude/PrimOp,lhs,-K3m -H10m) compile(prelude/TysPrim,lhs,) compile(prelude/TysWiredIn,lhs,) -compile(profiling/SCCauto,lhs,) compile(profiling/SCCfinal,lhs,) compile(profiling/CostCentre,lhs,) compile(reader/PrefixSyn,lhs,) compile(reader/PrefixToHs,lhs,) compile(reader/ReadPrefix,lhs,if_ghc(-fvia-C -I$(COMPINFO_DIR) -Iparser '-#include"hspincl.h"')) -compile(reader/ReadPragmas,lhs,) compile(reader/RdrHsSyn,lhs,) +compile(rename/ParseIface,hs,) +compile(rename/ParseUtils,lhs,) +compile(rename/RnHsSyn,lhs,) +compile(rename/RnMonad,lhs,if_ghc(-fvia-C)) compile(rename/Rename,lhs,) -compile(rename/RnPass1,lhs,) -compile(rename/RnPass2,lhs,) -compile(rename/RnPass3,lhs,) -compile(rename/RnPass4,lhs,) +compile(rename/RnNames,lhs,) +compile(rename/RnSource,lhs,) +compile(rename/RnBinds,lhs,) +compile(rename/RnExpr,lhs,) +compile(rename/RnIfaces,lhs,) compile(rename/RnUtils,lhs,) -compile(rename/RnHsSyn,lhs,) -compile(rename/RnBinds4,lhs,) -compile(rename/RnExpr4,lhs,) -compile(rename/RnMonad12,lhs,) -compile(rename/RnMonad3,lhs,) -compile(rename/RnMonad4,lhs,) compile(simplCore/BinderInfo,lhs,) compile(simplCore/ConFold,lhs,) @@ -685,7 +666,7 @@ compile(deforest/Deforest,lhs,) compile(deforest/TreelessForm,lhs,) #endif -compile(specialise/Specialise,lhs,) +compile(specialise/Specialise,lhs,-H12m if_ghc(-Onot)) /* -Onot for compile-space reasons */ compile(specialise/SpecEnv,lhs,) compile(specialise/SpecUtils,lhs,) @@ -715,7 +696,7 @@ compile(typecheck/TcInstDcls,lhs,) compile(typecheck/TcInstUtil,lhs,) compile(typecheck/TcMatches,lhs,) compile(typecheck/TcModule,lhs,) -compile(typecheck/TcMonad,lhs,) +compile(typecheck/TcMonad,lhs,if_ghc(-fvia-C)) compile(typecheck/TcKind,lhs,) compile(typecheck/TcType,lhs,) compile(typecheck/TcEnv,lhs,) @@ -725,12 +706,11 @@ compile(typecheck/TcPragmas,lhs,) compile(typecheck/TcSimplify,lhs,) compile(typecheck/TcTyClsDecls,lhs,) compile(typecheck/TcTyDecls,lhs,) -compile(typecheck/Typecheck,lhs,) compile(typecheck/Unify,lhs,) compile(types/Class,lhs,) compile(types/Kind,lhs,) -compile(types/PprType,lhs,) +compile(types/PprType,lhs,if_ghc26(-Onot)) /* avoid a 0.26 bug */ compile(types/TyCon,lhs,) compile(types/TyVar,lhs,) compile(types/Usage,lhs,) @@ -772,13 +752,10 @@ CPP_DEFINES = $(D_DEBUG) HSP_SRCS_C = parser/constr.c \ parser/binding.c \ parser/pbinding.c \ - parser/coresyn.c \ parser/entidt.c \ - parser/hpragma.c \ parser/hslexer.c \ parser/hsparser.tab.c \ parser/id.c \ - parser/import_dirlist.c \ parser/infix.c \ parser/list.c \ parser/literal.c \ @@ -794,13 +771,10 @@ HSP_SRCS_C = parser/constr.c \ HSP_OBJS_O = parser/constr.o \ parser/binding.o \ parser/pbinding.o \ - parser/coresyn.o \ parser/entidt.o \ - parser/hpragma.o \ parser/hslexer.o \ parser/hsparser.tab.o \ parser/id.o \ - parser/import_dirlist.o \ parser/infix.o \ parser/list.o \ parser/literal.o \ @@ -821,7 +795,6 @@ REAL_HSP_SRCS_C = parser/main.c \ parser/util.c \ parser/syntax.c \ parser/type2context.c \ - parser/import_dirlist.c \ parser/infix.c \ parser/printtree.c @@ -841,33 +814,34 @@ MakeDirectories(install, $(INSTLIBDIR_GHC)) InstallBinaryTarget(hsp,$(INSTLIBDIR_GHC)) #endif /* DoInstall... */ -YaccRunWithExpectMsg(parser/hsparser,16,0) - -UgenTarget(parser/constr) -UgenTarget(parser/binding) -UgenTarget(parser/pbinding) -UgenTarget(parser/coresyn) -UgenTarget(parser/entidt) -UgenTarget(parser/hpragma) -UgenTarget(parser/list) -UgenTarget(parser/literal) -UgenTarget(parser/maybe) -UgenTarget(parser/either) -UgenTarget(parser/qid) -UgenTarget(parser/tree) -UgenTarget(parser/ttype) +YaccRunWithExpectMsg(parser/hsparser,12,0) + +parser/hslexer.o : parser/hslexer.c parser/hsparser.tab.h + $(RM) $@ + $(CC) $(CFLAGS) -c $< + @if [ \( $(@D) != '.' \) -a \( $(@D) != './' \) ] ; then echo mv $(@F) $@ ; mv $(@F) $@ ; else exit 0 ; fi + +UgenTarget(parser,constr) +UgenTarget(parser,binding) +UgenTarget(parser,pbinding) +UgenTarget(parser,entidt) +UgenTarget(parser,list) +UgenTarget(parser,literal) +UgenTarget(parser,maybe) +UgenTarget(parser,either) +UgenTarget(parser,qid) +UgenTarget(parser,tree) +UgenTarget(parser,ttype) UGENS_C = parser/constr.c \ parser/binding.c \ parser/pbinding.c \ - parser/coresyn.c \ parser/entidt.c \ parser/literal.c \ parser/list.c \ parser/maybe.c \ parser/either.c \ parser/qid.c \ - parser/hpragma.c \ parser/tree.c \ parser/ttype.c @@ -882,9 +856,7 @@ compile(parser/UgenUtil,lhs,$(PARSER_HS_OPTS) '-#include"hspincl.h"') compile(parser/U_constr,hs,$(PARSER_HS_OPTS) '-#include"hspincl.h"') compile(parser/U_binding,hs,$(PARSER_HS_OPTS) '-#include"hspincl.h"') compile(parser/U_pbinding,hs,$(PARSER_HS_OPTS) '-#include"hspincl.h"') -compile(parser/U_coresyn,hs,$(PARSER_HS_OPTS) '-#include"hspincl.h"') compile(parser/U_entidt,hs,$(PARSER_HS_OPTS) '-#include"hspincl.h"') -compile(parser/U_hpragma,hs,$(PARSER_HS_OPTS) '-#include"hspincl.h"') compile(parser/U_list,hs,$(PARSER_HS_OPTS) '-#include"hspincl.h"') compile(parser/U_literal,hs,$(PARSER_HS_OPTS) '-#include"hspincl.h"') compile(parser/U_maybe,hs,$(PARSER_HS_OPTS) '-#include"hspincl.h"') @@ -911,6 +883,7 @@ MKDEPENDHS_OPTS= -o .hc -I$(MAIN_INCLUDE_DIR) -I$(COMPINFO_DIR) -x HsVersions.h #if HaskellCompilerType != HC_USE_HC_FILES /* otherwise, the dependencies jeopardize our .hc files -- which are all we have! */ +depend :: $(DELOOP_HIs) HaskellDependTarget( $(DEPSRCS) ) #endif