default: build URLGET = curl -o HIER = Data/Char/Properties $(HIER)/%Data.hs: $(HIER)/%Data.hs.m4 $(HIER)/UnicodeData.m4 $(HIER)/UnicodePropList.m4 PropList.m4 m4 -DDATAFILE="$(HIER)/UnicodeData.m4" -DPROPFILE="$(HIER)/UnicodePropList.m4" -DMISCDOCFILE="PropList.m4" $< > $@ $(HIER)/Derivation.hs: $(HIER)/Derivation.hs.m4 DerivationData.m4 m4 -DDATAFILE="DerivationData.m4" $< > $@ $(HIER)/UnicodeData.m4: $(HIER)/UnicodeData.data sed -e 's/;/}},{{/g; s/^/uchar({{/; s/$$/}})dnl/' $< > $@ $(HIER)/UnicodePropList.m4: $(HIER)/PropList.data sed -e 's/#.*$$//;s/^ *\([.0-9A-F]*\) *; *\([0-9A-Za-z_]*\)/charprop(\2,\1)/;s/\.\./,/;/^$$/ d' $< > $@ $(HIER)/%.data: rm -f $@ $(URLGET) $@ http://www.unicode.org/Public/3.2-Update/$*-3.2.0.txt SOURCES = \ $(HIER)/PrivateData.hs \ $(HIER)/GeneralCategoryData.hs \ $(HIER)/BidiCategoryData.hs \ $(HIER)/DecompositionData.hs \ $(HIER)/MiscData.hs \ $(HIER)/Derivation.hs \ $(HIER)/CaseData.hs sources: $(SOURCES) # Building clean: cabal clean rm -f $(HIER)/*Data.hs $(HIER)/UnicodeData.m4 $(HIER)/UnicodePropList.m4 $(HIER)/Derivation.hs reallyclean: clean rm -f $(HIER)/*.data configure: sources cabal configure --enable-library-profiling build: configure cabal build --ghc-options="-Wall -Werror" haddock: configure cabal haddock install: build haddock cabal install --user --enable-library-profiling sdist: configure cabal sdist install-names: install cd names && make install # switch off intermediate file deletion .SECONDARY: .PHONY: default sources configure build haddock install clean reallyclean install-name