X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fincludes%2FJmakefile;fp=ghc%2Fincludes%2FJmakefile;h=40eb8f4db7baf56f401a219ede492a71ef2ebcb6;hb=e7d21ee4f8ac907665a7e170c71d59e13a01da09;hp=0000000000000000000000000000000000000000;hpb=e48474bff05e6cfb506660420f025f694c870d38;p=ghc-hetmet.git diff --git a/ghc/includes/Jmakefile b/ghc/includes/Jmakefile new file mode 100644 index 0000000..40eb8f4 --- /dev/null +++ b/ghc/includes/Jmakefile @@ -0,0 +1,110 @@ +LH_FILES = \ +rtsTypes.lh /* runtime system */ \ +\ +SMinterface.lh /* storage-management related */ \ +SMClosures.lh \ +SMInfoTables.lh \ +SMupdate.lh \ +SMcopying.lh \ +SMcompact.lh \ +SMmark.lh \ +\ +StgMacros.lh \ +StgTypes.lh \ +MachRegs.lh \ +StgRegs.lh \ +COptJumps.lh \ +COptRegs.lh \ +COptWraps.lh \ +\ +GhcConstants.lh \ +\ +RednCounts.lh /* "ticky-ticky" profiling */ \ +\ +Info.lh /* Info pointer definitions */ \ +\ +CostCentre.lh /* for cost centre profiling */ \ +AgeProfile.lh /* age stuff for heap and lifetime profiling */ \ +Force_GC.lh /* for forcing GC */ \ +\ +GranSim.lh \ +Parallel.lh /* for PAR build */ \ +Threads.lh /* for threads, parallel or not */ + +H_FILES_FROM_LH_FILES = $(LH_FILES:.lh=.h) + +MOST_H_FILES = $(H_FILES_FROM_LH_FILES) \ +stgdefs.h /* top-level including file */ \ +rtsdefs.h \ +\ +StgDirections.h /* other basic STG things */ \ +StgMachDeps.h \ +\ +error.h \ +ieee-flpt.h \ +\ +gmp.h \ +\ +LLC.h /* for PAR build */ \ +HLC.h /* ditto */ + +#if GhcWithNativeCodeGen == YES +#define __native_h $(TARGETPLATFORM).h +#else +#define __native_h /*no*/ +#endif + +H_FILES = $(MOST_H_FILES) \ +__native_h /* Must be constructed last */ + +/* $(TARGETPLATFORM).h should probably be installed in LIB, not DATA (WDP 94/07) */ + +PLAT_H_FILES = config.h platform.h + +#undef __native_h + +/* Literate-pgmming suffix rules used herein */ +LitSuffixRule(.lh,.h) +LitSuffixRule(.lc,.c) + +all :: /* so it is first */ + @: + +#if GhcWithNativeCodeGen == YES + +GhcDriverNeededHere(depend all mkNativeHdr.o) /* we use its C-compiling know-how */ + +$(TARGETPLATFORM).h : mkNativeHdr + $(RM) $@ + ./mkNativeHdr > $@ || ( rm $@ && exit 1 ) + +mkNativeHdr.c : mkNativeHdr.lc + +mkNativeHdr :: mkNativeHdr.c $(MOST_H_FILES) + $(RM) mkNativeHdr mkNativeHdr.o + $(GHC) -c mkNativeHdr.c + $(CC) -o mkNativeHdr mkNativeHdr.o + +#endif /* NativeCodeGen */ + +all depend :: $(H_FILES) + +#if DoInstallGHCSystem == YES +MakeDirectories(install, $(INSTDATADIR_GHC)/includes $(INSTLIBDIR_GHC)/includes) +includestuff:: /* nothing */ +InstallTarget(includestuff) +InstallMultNonExecTargets(includestuff, $(H_FILES), $(INSTDATADIR_GHC)/includes) +InstallMultNonExecTargets(includestuff, $(PLAT_H_FILES), $(INSTLIBDIR_GHC)/includes) +#endif + +ExtraStuffToClean( $(H_FILES_FROM_LH_FILES) ) + +EtagsNeededHere(tags) /* need this to do "make tags" */ +ClearTagsFile() +CTagsTarget( $(H_FILES) ) + +LitStuffNeededHere(docs depend) +InfoStuffNeededHere(docs) + +LitDocRootTargetWithNamedOutput(root,lit,root-standalone) +LitDocRootTargetWithNamedOutput(c-as-asm,lit,c-as-asm-standalone)