2 RtsTypes.lh /* runtime system */ \
5 SMinterface.lh /* storage-management related */ \
23 Ticky.lh /* "ticky-ticky" profiling */ \
25 Info.lh /* Info pointer definitions */ \
27 CostCentre.lh /* for cost centre profiling */ \
30 Parallel.lh /* for PAR build */ \
31 Threads.lh /* for threads, parallel or not */
33 H_FILES_FROM_LH_FILES = $(LH_FILES:.lh=.h)
35 MOST_H_FILES = $(H_FILES_FROM_LH_FILES) \
36 stgdefs.h /* top-level including file */ \
39 StgDirections.h /* other basic STG things */ \
47 LLC.h /* for PAR build */ \
50 #if GhcWithNativeCodeGen == YES
51 #define __native_h $(TARGETPLATFORM).h
53 #define __native_h /*no*/
56 H_FILES = $(MOST_H_FILES) \
57 __native_h /* Must be constructed last */
59 /* $(TARGETPLATFORM).h should probably be installed in LIB, not DATA (WDP 94/07) */
61 PLAT_H_FILES = config.h platform.h
65 /* Literate-pgmming suffix rules used herein */
69 all :: /* so it is first */
72 #if GhcWithNativeCodeGen == YES
74 GhcDriverNeededHere(depend all mkNativeHdr.o) /* we use its C-compiling know-how */
76 $(TARGETPLATFORM).h : mkNativeHdr
78 ./mkNativeHdr > $@ || ( rm $@ && exit 1 )
80 mkNativeHdr.c : mkNativeHdr.lc
82 mkNativeHdr :: mkNativeHdr.c $(MOST_H_FILES)
83 $(RM) mkNativeHdr mkNativeHdr.o
84 $(GHC) -c mkNativeHdr.c
85 $(CC) -o mkNativeHdr mkNativeHdr.o
87 #endif /* NativeCodeGen */
89 all depend :: $(H_FILES)
91 #if DoInstallGHCSystem == YES
92 MakeDirectories(install, $(INSTDATADIR_GHC)/includes $(INSTLIBDIR_GHC)/includes)
93 includestuff:: /* nothing */
94 InstallTarget(includestuff)
95 InstallMultNonExecTargets(includestuff, $(H_FILES), $(INSTDATADIR_GHC)/includes)
96 InstallMultNonExecTargets(includestuff, $(PLAT_H_FILES), $(INSTLIBDIR_GHC)/includes)
99 ExtraStuffToClean( $(H_FILES_FROM_LH_FILES) )
101 EtagsNeededHere(tags) /* need this to do "make tags" */
103 CTagsTarget( $(H_FILES) )
105 LitStuffNeededHere(docs depend)
106 InfoStuffNeededHere(docs)
108 LitDocRootTargetWithNamedOutput(root,lit,root-standalone)
109 LitDocRootTargetWithNamedOutput(c-as-asm,lit,c-as-asm-standalone)