X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=mk%2Fopts.mk;h=fe2d06066b9f45f6ce7f0aa71221f40a6019b0ca;hp=525424f787900499fb0f2a39ddc7e5695c89407c;hb=fd1375dd261725eb00969a3017b924369c09835c;hpb=3b24281ca45d2c8d2bf9e2e577b62fbf5580a626 diff --git a/mk/opts.mk b/mk/opts.mk index 525424f..fe2d060 100644 --- a/mk/opts.mk +++ b/mk/opts.mk @@ -5,16 +5,20 @@ # This file defines Make variables for the # option flags for each utility program # -# $Id: opts.mk,v 1.4 1998/01/14 11:22:21 sof Exp $ +# $Id: opts.mk,v 1.36 2004/08/26 20:08:54 panne Exp $ # ################################################################################# +# +# N.B. This is *NOT* the place to put extra options of ANY SORT! +# + # Exports: Define P_OPTS for the most important utility programs, P, namely # # AR AS CPP CTAGS C FLEX HC HSTAGS LD LINT -# LIT2CHANGELOG LIT2HTML LIT2LATEX LIT2PGM LIT2TEXI -# MKDEPENDC MKDEPENDHS MKDEPENDLIT MSUB -# RUNTEST UGEN UNLIT YACC +# LIT2CHANGELOG LIT2HTML LIT2LATEX LIT2PGM +# MKDEPENDC MKDEPENDHS MKDEPENDLIT RUNTEST +# UNLIT # For each such utility program P, this file defines @@ -24,53 +28,29 @@ # # P_OPTS is always defined like this: # -# P_OPTS = SRC_P_OPTS WAY$(_way)_P_OPTS BUILD_P_OPTS EXTRA_P_OPTS +# P_OPTS = SRC_P_OPTS WAY$(_way)_P_OPTS EXTRA_P_OPTS # # where the variables on the right hand side are set by the user or # some other Makefile. They have the following intended uses: # # SRC_P_OPTS Source-tree options for P # WAY$(_way)_P_OPTS Source-tree options for P specific to $(way) -# BUILD_P_OPTS Build-tree options for P # EXTRA_P_OPTS Command-line options for P # +# and for some programs +# +# $(HcFlavour)_P_OPTS Compiler-specific options for P +# $($*_P_OPTS) Target specific options for P +# # All these options should be set with # thing += extra-options # in case someone higher up the include hierarchy has already added some - -################################################################################# -# -# Global option flags for utilities -# -################################################################################# - -# These flags make flex 8-bit -SRC_FLEX_OPTS += -8 - -# -# Make sure we install things with group 'grasp' at Glasgow -# At Glasgow, we would rather the installed binaries were stripped. -# (Delete if you feel otherwise.) -SRC_INSTALL_BIN_OPTS += -s -ifeq ($(AT_GLASGOW),1) -SRC_INSTALL_OPTS += -g grasp +# Which class of compiler are we aiming at? (GHC, NHC or HUGS) +ifeq "$(HcFlavour)" "" +HcFlavour = GHC endif -# lint gets all CPP's flags too -SRC_LINT_OPTS += -axz -DLINT $(SRC_CPP_OPTS) -WAY$(_way)_LINT_OPTS += WAY$(_way)_CPP_OPTS - - -# Default fptools options for texi2html: -# -# - each node in separate file. -# - handle texi menus and glossaries. -# -# -SRC_TEXI2HTML_OPTS +=-menu -verbose -glossary - - ################################################################################# # # Absolutely standard glue @@ -80,38 +60,49 @@ SRC_TEXI2HTML_OPTS +=-menu -verbose -glossary # All the standard gluing together, as in the comment right at the front -# For the Haskell compiler and runtests we do something a bit special: -# we also include target-specific flags HC_OPTS = $(SRC_HC_OPTS) $(WAY$(_way)_HC_OPTS) $($*_HC_OPTS) $(EXTRA_HC_OPTS) +HC_POST_OPTS = $(SRC_HC_POST_OPTS) $(WAY$(_way)_HC_POST_OPTS) $($*_HC_POST_OPTS) $(EXTRA_HC_POST_OPTS) +HC_PRE_OPTS = $(SRC_HC_PRE_OPTS) $(WAY$(_way)_HC_PRE_OPTS) $($*_HC_PRE_OPTS) $(EXTRA_HC_PRE_OPTS) + +ILX2IL_OPTS = $(SRC_ILX2IL_OPTS) $(WAY$(_way)_ILX2IL_OPTS) $($*_ILX2IL_OPTS) $(EXTRA_ILX2IL_OPTS) +ILASM_OPTS = $(SRC_ILASM_OPTS) $(WAY$(_way)_ILASM_OPTS) $($*_ILASM_OPTS) $(EXTRA_ILASM_OPTS) RUNTEST_OPTS = $(SRC_RUNTEST_OPTS) $(WAY$(_way)_RUNTEST_OPTS) \ $($*_RUNTEST_OPTS) $(EXTRA_RUNTEST_OPTS) +ALEX_OPTS = $(SRC_ALEX_OPTS) $($(HcFlavour)_ALEX_OPTS) $(WAY$(_way)_ALEX_OPTS) $($*_ALEX_OPTS) $(EXTRA_ALEX_OPTS) AR_OPTS = $(SRC_AR_OPTS) $(WAY$(_way)_AR_OPTS) $(EXTRA_AR_OPTS) AS_OPTS = $(SRC_AS_OPTS) $(WAY$(_way)_AS_OPTS) $(EXTRA_AS_OPTS) +BLD_DLL_OPTS = $(SRC_BLD_DLL_OPTS) $(WAY$(_way)_BLD_DLL_OPTS) $($*_HC_OPTS) $(EXTRA_BLD_DLL_OPTS) CPP_OPTS = $(SRC_CPP_OPTS) $(WAY$(_way)_CPP_OPTS) $(EXTRA_CPP_OPTS) CTAGS_OPTS = $(SRC_CTAGS_OPTS) $(WAY$(_way)_CTAGS_OPTS) $(EXTRA_CTAGS_OPTS) CC_OPTS = $(SRC_CC_OPTS) $(WAY$(_way)_CC_OPTS) $($*_CC_OPTS) $(EXTRA_CC_OPTS) FLEX_OPTS = $(SRC_FLEX_OPTS) $(WAY$(_way)_FLEX_OPTS) $(EXTRA_FLEX_OPTS) -HAPPY_OPTS = $(SRC_HAPPY_OPTS) $(WAY$(_way)_HAPPY_OPTS) $($*_HAPPY_OPTS) $(EXTRA_HAPPY_OPTS) -GREENCARD_OPTS = $(SRC_GREENCARD_OPTS) $(WAY$(_way)_GREENCARD_OPTS) $($*_GREENCARD_OPTS) $(EXTRA_GREENCARD_OPTS) +HADDOCK_OPTS = $(SRC_HADDOCK_OPTS) $(WAY$(_way)_HADDOCK_OPTS) $($*_HADDOCK_OPTS) $(EXTRA_HADDOCK_OPTS) +HAPPY_OPTS = $(SRC_HAPPY_OPTS) $($(HcFlavour)_HAPPY_OPTS) $(WAY$(_way)_HAPPY_OPTS) $($*_HAPPY_OPTS) $(EXTRA_HAPPY_OPTS) +GC_OPTS = $(SRC_GC_OPTS) $(WAY$(_way)_GC_OPTS) $($*_GC_OPTS) $(EXTRA_GC_OPTS) HSTAGS_OPTS = $(SRC_HSTAGS_OPTS) $(WAY$(_way)_HSTAGS_OPTS) $(EXTRA_HSTAGS_OPTS) +HSC2HS_OPTS = $(SRC_HSC2HS_OPTS) $($(HcFlavour)_HSC2HS_OPTS) $(WAY$(_way)_HSC2HS_OPTS) $(EXTRA_HSC2HS_OPTS) INSTALL_OPTS = $(SRC_INSTALL_OPTS) $(WAY$(_way)_INSTALL_OPTS) $(EXTRA_INSTALL_OPTS) INSTALL_BIN_OPTS = $(INSTALL_OPTS) $(SRC_INSTALL_BIN_OPTS) LD_OPTS = $(SRC_LD_OPTS) $(WAY$(_way)_LD_OPTS) $(EXTRA_LD_OPTS) LINT_OPTS = $(SRC_LINT_OPTS) $(WAY$(_way)_LINT_OPTS) $(EXTRA_LINT_OPTS) +HEVEA_OPTS = $(SRC_HEVEA_OPTS) $(WAY$(_way)_HEVEA_OPTS) $(EXTRA_HEVEA_OPTS) +HACHA_OPTS = $(SRC_HACHA_OPTS) $(WAY$(_way)_HACHA_OPTS) $(EXTRA_HACHA_OPTS) LIT2CHANGELOG_OPTS = $(SRC_LIT2CHANGELOG_OPTS) $(WAY$(_way)_LIT2CHANGELOG_OPTS) \ $(EXTRA_LIT2CHANGELOG_OPTS) LIT2HTML_OPTS = $(SRC_LIT2HTML_OPTS) $(WAY$(_way)_LIT2HTML_OPTS) $(EXTRA_LIT2HTML_OPTS) LIT2LATEX_OPTS = $(SRC_LIT2LATEX_OPTS) $(WAY$(_way)_LIT2LATEX_OPTS) $(EXTRA_LIT2LATEX_OPTS) LIT2PGM_OPTS = $(SRC_LIT2PGM_OPTS) $(WAY$(_way)_LIT2PGM_OPTS) $(EXTRA_LIT2PGM_OPTS) -LIT2TEXI_OPTS = $(SRC_LIT2TEXI_OPTS) $(WAY$(_way)_LIT2TEXI_OPTS) $(EXTRA_LIT2TEXI_OPTS) -TEXI2HTML_OPTS = $(SRC_TEXI2HTML_OPTS) $(WAY$(_way)_TEXI2HTML_OPTS) $(EXTRA_TEXI2HTML_OPTS) MKDEPENDC_OPTS = $(SRC_MKDEPENDC_OPTS) $(WAY$(_way)_MKDEPENDC_OPTS) $(EXTRA_MKDEPENDC_OPTS) MKDEPENDHS_OPTS = $(SRC_MKDEPENDHS_OPTS) $(WAY$(_way)_MKDEPENDHS_OPTS) \ $(EXTRA_MKDEPENDHS_OPTS) MKDEPENDLIT_OPTS = $(SRC_MKDEPENDLIT_OPTS) $(WAY$(_way)_MKDEPENDLIT_OPTS) \ $(EXTRA_MKDEPENDLIT_OPTS) -UGEN_OPTS = $(SRC_UGEN_OPTS) $(WAY$(_way)_UGEN_OPTS) $(EXTRA_UGEN_OPTS) +XSLTPROC_OPTS = $(WAY$(_way)_XSLTPROC_OPTS) $(EXTRA_XSLTPROC_OPTS) +FOP_OPTS = $(WAY$(_way)_FOP_OPTS) $(EXTRA_FOP_OPTS) UNLIT_OPTS = $(SRC_UNLIT_OPTS) $(WAY$(_way)_UNLIT_OPTS) $(EXTRA_UNLIT_OPTS) -YACC_OPTS = $(SRC_YACC_OPTS) $(WAY$(_way)_YACC_OPTS) $(EXTRA_YACC_OPTS) +ZIP_OPTS = $(SRC_ZIP_OPTS) $(EXTRA_ZIP_OPTS) + +# Version of CC_OPTS to use when GHC is the C compiler +GHC_CC_OPTS = $(addprefix -optc, $(CC_OPTS)) $(HC_OPTS)