Plan 9 from Bell Labs’s /usr/web/sources/contrib/fernan/nhc98/src/compiler98/Makefile.hat

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


include Makefile.inc


OBJDIR = ${BUILDDIR}/obj/compiler98
TARGET = ${DST}/hat-trans${EXE}

SRCS = \
	TraceDerive.hs TraceTrans.hs SyntaxUtil.hs AuxLabelAST.hs \
	AuxFixity.hs Overlap.hs DbgId.hs TokenInt.hs NeedLib.hs IExtract.hs \
	State.hs ImportState.hs PreImp.hs ParseI.hs Memo.hs Import.hs \
	AuxFile.hs ParseLex.hs ParseLib.hs Parse2.hs SyntaxPos.hs \
	MkSyntax.hs Parse.hs LexStr.hs LexLow.hs LexPre.hs Lexical.hs \
	Unlit.hs Lex.hs AuxTypes.hs TraceId.hs Nice.hs Reduce.hs \
	MergeSort.hs Info.hs IdKind.hs NT.hs Tree234.hs AssocTree.hs \
	IntState.hs PrettyLib.hs PrettySyntax.hs OsOnly.hs Flags.hs \
	ParseCore.hs Id.hs TokenId.hs HbcOnly.hs Extra.hs Syntax.hs \
	Error.hs HatTrans.hs
OBJS = $(patsubst %.hs, $(OBJDIR)/%.$O, ${SRCS})


HC = nhc98	# can be overridden by caller with 'make HC=...'

ifeq "nhc98" "$(findstring nhc98, ${HC})"
HMAKEFLAGS := -H16M -K2M +CTS -H16M -CTS
endif
ifeq "ghc" "$(findstring ghc, ${HC})"
IMPROVE     = #-O
HMAKEFLAGS := $(shell $(LOCAL)fixghc $(GHCSYM) -syslib exts)  $(IMPROVE)
endif

HMAKEFLAGS += $(shell echo $(BUILDOPTS))


all: ${TARGET}
hat-trans: ${TARGET}
install: ${TARGET}
objdir: ${OBJDIR}
clean:
	rm -f $(OBJDIR)/*.$O *.$O *.hi *.hc
realclean: clean
	rm -f *.hc *.c $(TARGET)

$(TARGET): ${OBJDIR} $(OBJDIR)/$(HC) $(SRCS)
	hmake -$(HC) $(HMAKEFLAGS) -d $(OBJDIR) HatTrans
	mv $(OBJDIR)/HatTrans$(EXE) $(TARGET)
	strip $(TARGET)
${OBJDIR}:
	mkdir -p ${OBJDIR}
$(OBJDIR)/$(HC):
	rm -f $(OBJDIR)/nhc98 $(OBJDIR)/hbc $(OBJDIR)/ghc*
	$(MAKE) clean
	touch "$(OBJDIR)/$(HC)"
 
.SUFFIXES: .hs .o .c


Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].