# -*- makefile -*- # This is the developer's makefile. # It obeys the environment variables CXX, CFLAGS if you have set them. GPERF = gperf CMAKE = cmake CTEST = ctest MKDIR = mkdir -p RM = rm -f CXX ?= g++ -Wall CXXFLAGS := $(CXXFLAGS) -Ilib all : lib/generated \ lib/generated/aliases.h lib/generated/aliases_sysaix.h lib/generated/aliases_syshpux.h lib/generated/aliases_sysosf1.h lib/generated/aliases_syssolaris.h \ lib/generated/aliases_aix.h lib/generated/aliases_aix_sysaix.h \ lib/generated/aliases_osf1.h lib/generated/aliases_osf1_sysosf1.h \ lib/generated/aliases_dos.h \ lib/generated/aliases_zos.h \ lib/generated/aliases_extra.h \ lib/generated/flags.h lib/generated : $(MKDIR) lib/generated lib/generated/genaliases : tools/genaliases.cpp $(CXX) $(CFLAGS) $(CXXFLAGS) $(LDFLAGS) $< -o $@ lib/generated/aliases.gperf : lib/generated/genaliases ./lib/generated/genaliases $@ lib/generated/aliases.h : lib/generated/aliases.gperf $(GPERF) -L C++ -Z HashPool -m 10 $< > $@ lib/generated/genaliases_sysaix : tools/genaliases.cpp $(CXX) $(CFLAGS) $(CXXFLAGS) $(LDFLAGS) -DUSE_AIX_ALIASES $< -o $@ lib/generated/aliases_sysaix.gperf : lib/generated/genaliases_sysaix ./lib/generated/genaliases_sysaix $@ lib/generated/aliases_sysaix.h : lib/generated/aliases_sysaix.gperf $(GPERF) -L C++ -Z HashPool -m 10 $< > $@ lib/generated/genaliases_syshpux : tools/genaliases.cpp $(CXX) $(CFLAGS) $(CXXFLAGS) $(LDFLAGS) -DUSE_HPUX_ALIASES $< -o $@ lib/generated/aliases_syshpux.gperf : lib/generated/genaliases_syshpux ./lib/generated/genaliases_syshpux $@ lib/generated/aliases_syshpux.h : lib/generated/aliases_syshpux.gperf $(GPERF) -L C++ -Z HashPool -m 10 $< > $@ lib/generated/genaliases_sysosf1 : tools/genaliases.cpp $(CXX) $(CFLAGS) $(CXXFLAGS) $(LDFLAGS) -DUSE_OSF1_ALIASES $< -o $@ lib/generated/aliases_sysosf1.gperf : lib/generated/genaliases_sysosf1 ./lib/generated/genaliases_sysosf1 $@ lib/generated/aliases_sysosf1.h : lib/generated/aliases_sysosf1.gperf $(GPERF) -L C++ -Z HashPool -m 10 $< > $@ lib/generated/genaliases_syssolaris : tools/genaliases.cpp $(CXX) $(CFLAGS) $(CXXFLAGS) $(LDFLAGS) -DUSE_SOLARIS_ALIASES $< -o $@ lib/generated/aliases_syssolaris.gperf : lib/generated/genaliases_syssolaris ./lib/generated/genaliases_syssolaris $@ lib/generated/aliases_syssolaris.h : lib/generated/aliases_syssolaris.gperf $(GPERF) -L C++ -Z HashPool -m 10 $< > $@ lib/generated/genaliases2_aix : tools/genaliases2.cpp $(CXX) $(CFLAGS) $(CXXFLAGS) $(LDFLAGS) -DUSE_AIX $< -o $@ lib/generated/aliases_aix.h : lib/generated/genaliases2_aix ./lib/generated/genaliases2_aix aix $@ lib/generated/genaliases2_aix_sysaix : tools/genaliases2.cpp $(CXX) $(CFLAGS) $(CXXFLAGS) $(LDFLAGS) -DUSE_AIX -DUSE_AIX_ALIASES $< -o $@ lib/generated/aliases_aix_sysaix.h : lib/generated/genaliases2_aix_sysaix ./lib/generated/genaliases2_aix_sysaix aix $@ lib/generated/genaliases2_osf1 : tools/genaliases2.cpp $(CXX) $(CFLAGS) $(CXXFLAGS) $(LDFLAGS) -DUSE_OSF1 $< -o $@ lib/generated/aliases_osf1.h : lib/generated/genaliases2_osf1 ./lib/generated/genaliases2_osf1 osf1 $@ lib/generated/genaliases2_osf1_sysosf1 : tools/genaliases2.cpp $(CXX) $(CFLAGS) $(CXXFLAGS) $(LDFLAGS) -DUSE_OSF1 -DUSE_OSF1_ALIASES $< -o $@ lib/generated/aliases_osf1_sysosf1.h : lib/generated/genaliases2_osf1_sysosf1 ./lib/generated/genaliases2_osf1_sysosf1 osf1 $@ lib/generated/genaliases2_dos : tools/genaliases2.cpp $(CXX) $(CFLAGS) $(CXXFLAGS) $(LDFLAGS) -DUSE_DOS $< -o $@ lib/generated/aliases_dos.h : lib/generated/genaliases2_dos ./lib/generated/genaliases2_dos dos $@ lib/generated/genaliases2_zos : tools/genaliases2.cpp $(CXX) $(CFLAGS) $(CXXFLAGS) $(LDFLAGS) -DUSE_ZOS $< -o $@ lib/generated/aliases_zos.h : lib/generated/genaliases2_zos ./lib/generated/genaliases2_zos zos $@ lib/generated/genaliases2_extra : tools/genaliases2.cpp $(CXX) $(CFLAGS) $(CXXFLAGS) $(LDFLAGS) -DUSE_EXTRA $< -o $@ lib/generated/aliases_extra.h : lib/generated/genaliases2_extra ./lib/generated/genaliases2_extra extra $@ lib/generated/genflags : tools/genflags.cpp $(CXX) $(CFLAGS) $(CXXFLAGS) $(LDFLAGS) $< -o $@ lib/generated/flags.h : lib/generated/genflags ./lib/generated/genflags > $@ test : all $(RM) -r -f build $(MKDIR) build cd build && $(CMAKE) .. -DENABLE_EXTRA=ON -DENABLE_TEST=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=test_install cd build && $(CMAKE) --build . --config=Release --verbose cd build && $(CTEST) -C Release --verbose $(CMAKE) --install build --verbose ./cpppdist.py { diff cppp-reiconv-* . --recursive || echo ; } # Alias to test check : test clean : $(RM) -r build $(RM) lib/generated/aliases.gperf $(RM) lib/generated/aliases_sysaix.gperf $(RM) lib/generated/aliases_syshpux.gperf $(RM) lib/generated/aliases_sysosf1.gperf $(RM) lib/generated/aliases_syssolaris.gperf $(RM) lib/generated/genaliases $(RM) lib/generated/genaliases2_aix $(RM) lib/generated/genaliases2_aix_sysaix $(RM) lib/generated/genaliases2_dos $(RM) lib/generated/genaliases2_extra $(RM) lib/generated/genaliases2_osf1 $(RM) lib/generated/genaliases2_osf1_sysosf1 $(RM) lib/generated/genaliases2_zos $(RM) lib/generated/genaliases_sysaix $(RM) lib/generated/genaliases_syshpux $(RM) lib/generated/genaliases_sysosf1 $(RM) lib/generated/genaliases_syssolaris $(RM) lib/generated/genflags $(RM) tests/data/GB18030-2005.TXT $(RM) tests/data/GB18030-2022.TXT $(RM) tests/data/UTF-8.TXT