.POSIX: CONFIGFILE = config.mk include $(CONFIGFILE) OS = linux # Linux: linux # Mac OS: macos # Windows: windows include mk/$(OS).mk LIB_MAJOR = 1 LIB_MINOR = 0 LIB_VERSION = $(LIB_MAJOR).$(LIB_MINOR) LIB_NAME = charconv BIN =\ convert-to-shogi\ convert-to-dice\ convert-to-go\ convert-to-draughts\ convert-to-region-indicators\ convert-to-tags\ convert-to-gender-symbols\ convert-to-latin\ convert-to-cypriot\ convert-to-bold\ convert-to-italic\ convert-to-bold-italic\ convert-to-monospace\ convert-to-segmented\ convert-to-sans-serif\ convert-to-sans-serif-bold\ convert-to-sans-serif-italic\ convert-to-sans-serif-bold-italic\ convert-to-double-struck\ convert-to-double-struck-italic\ convert-to-fraktur\ convert-to-bold-fraktur\ convert-to-script\ convert-to-bold-script\ convert-to-buhid\ convert-to-replacement\ convert-to-bracketed\ convert-to-variation-selectors\ convert-to-superscript\ convert-to-subscript\ convert-to-lydian\ convert-to-lycian\ convert-to-domino-tiles\ convert-to-clock-faces\ convert-to-ocr\ convert-to-crop-marks\ convert-to-braille\ convert-to-lisu\ convert-to-yijing-monograms\ convert-to-yijing-digrams\ convert-to-yijing-trigrams\ convert-to-yijing-tetragrams\ convert-to-yijing-hexagrams\ convert-to-vulgar-fractions\ convert-to-flipped\ convert-to-overlaid\ convert-to-joined\ convert-to-mirrored\ convert-to-turned\ convert-to-transposed\ convert-to-sora-sompeng\ convert-to-tally-marks\ convert-to-ideographic-tally-marks\ convert-to-negative\ convert-to-symbols\ convert-to-control-characters\ convert-to-xiangqi\ convert-to-control-character-representations\ convert-to-chess\ convert-to-rotated-45deg-cw\ convert-to-rotated-90deg-cw\ convert-to-rotated-45deg-ccw\ convert-to-rotated-90deg-ccw\ convert-to-invisible LIBOBJ =\ libcharconv_decode_utf8_.o\ libcharconv_shogi.o\ libcharconv_dice.o\ libcharconv_go_white.o\ libcharconv_go_black.o\ libcharconv_draughts.o\ libcharconv_region_indicators.o\ libcharconv_tags.o\ libcharconv_gender_symbols.o\ libcharconv_latin.o\ libcharconv_cypriot.o\ libcharconv_bold.o\ libcharconv_italic.o\ libcharconv_bold_italic.o\ libcharconv_monospace.o\ libcharconv_segmented.o\ libcharconv_sans_serif.o\ libcharconv_sans_serif_bold.o\ libcharconv_sans_serif_italic.o\ libcharconv_sans_serif_bold_italic.o\ libcharconv_double_struck.o\ libcharconv_double_struck_italic.o\ libcharconv_fraktur.o\ libcharconv_bold_fraktur.o\ libcharconv_script.o\ libcharconv_bold_script.o\ libcharconv_buhid.o\ libcharconv_replacement.o\ libcharconv_bracketed.o\ libcharconv_variation_selectors.o\ libcharconv_superscript.o\ libcharconv_subscript.o\ libcharconv_lydian.o\ libcharconv_lycian.o\ libcharconv_domino_tiles_horizontal.o\ libcharconv_domino_tiles_vertical.o\ libcharconv_clock_faces.o\ libcharconv_ocr.o\ libcharconv_crop_marks.o\ libcharconv_braille.o\ libcharconv_lisu.o\ libcharconv_yijing_monograms.o\ libcharconv_yijing_digrams.o\ libcharconv_yijing_trigrams.o\ libcharconv_yijing_tetragrams.o\ libcharconv_yijing_hexagrams.o\ libcharconv_vulgar_fractions.o\ libcharconv_flipped.o\ libcharconv_overlaid.o\ libcharconv_joined.o\ libcharconv_mirrored.o\ libcharconv_turned.o\ libcharconv_transposed.o\ libcharconv_sora_sompeng.o\ libcharconv_tally_marks.o\ libcharconv_ideographic_tally_marks.o\ libcharconv_negative.o\ libcharconv_symbols.o\ libcharconv_control_characters.o\ libcharconv_xiangqi_red.o\ libcharconv_xiangqi_black.o\ libcharconv_control_character_representations.o\ libcharconv_chess_white.o\ libcharconv_chess_black.o\ libcharconv_chess_neutral.o\ libcharconv_rotated_45deg_cw.o\ libcharconv_rotated_90deg_cw.o\ libcharconv_rotated_45deg_ccw.o\ libcharconv_rotated_90deg_ccw.o\ libcharconv_invisible.o LOBJ = $(LIBOBJ:.o=.lo) BINOBJ = $(BIN:=.o) common.o all: libcharconv.a libcharconv.$(LIBEXT) $(BIN) common.o: libcharconv.h common.h $(BINOBJ): libcharconv.h common.h $(LIBOBJ): libcharconv.h lib-common.h $(LOBJ): libcharconv.h lib-common.h $(BIN): common.o libcharconv.a .c.o: $(CC) -c -o $@ $< $(CFLAGS) $(CPPFLAGS) .c.lo: $(CC) -fPIC -c -o $@ $< $(CFLAGS) $(CPPFLAGS) .o: $(CC) -fPIC -o $@ $< common.o libcharconv.a $(LDFLAGS) .c: $(CC) -fPIC -o $@ $< common.o libcharconv.a $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) libcharconv.a: $(LIBOBJ) @rm -f -- $@ $(AR) rc $@ $(LIBOBJ) $(AR) ts $@ > /dev/null libcharconv.$(LIBEXT): $(LOBJ) $(CC) $(LIBFLAGS) -o $@ $(LOBJ) $(LDFLAGS) install: libcharconv.a libcharconv.$(LIBEXT) $(BIN) mkdir -p -- "$(DESTDIR)$(PREFIX)/lib" mkdir -p -- "$(DESTDIR)$(PREFIX)/bin" mkdir -p -- "$(DESTDIR)$(PREFIX)/include" cp -- libcharconv.a "$(DESTDIR)$(PREFIX)/lib/" cp -- libcharconv.$(LIBEXT) "$(DESTDIR)$(PREFIX)/lib/libcharconv.$(LIBMINOREXT)" $(FIX_INSTALL_NAME) "$(DESTDIR)$(PREFIX)/lib/libcharconv.$(LIBMINOREXT)" ln -sf -- libcharconv.$(LIBMINOREXT) "$(DESTDIR)$(PREFIX)/lib/libcharconv.$(LIBMAJOREXT)" ln -sf -- libcharconv.$(LIBMAJOREXT) "$(DESTDIR)$(PREFIX)/lib/libcharconv.$(LIBEXT)" cp -- libcharconv.h "$(DESTDIR)$(PREFIX)/include/" cp -- $(BIN) "$(DESTDIR)$(PREFIX)/bin/" uninstall: -rm -f -- "$(DESTDIR)$(PREFIX)/lib/libcharconv.a" -rm -f -- "$(DESTDIR)$(PREFIX)/lib/libcharconv.$(LIBMAJOREXT)" -rm -f -- "$(DESTDIR)$(PREFIX)/lib/libcharconv.$(LIBMINOREXT)" -rm -f -- "$(DESTDIR)$(PREFIX)/lib/libcharconv.$(LIBEXT)" -rm -f -- "$(DESTDIR)$(PREFIX)/include/libcharconv.h" -cd -- "$(DESTDIR)$(PREFIX)/bin/" && rm -f -- $(BIN) clean: -rm -f -- *.o *.a *.lo *.su *.so *.so.* *.dll *.dylib -rm -f -- *.gch *.gcov *.gcno *.gcda *.$(LIBEXT) $(BIN) .SUFFIXES: .SUFFIXES: .lo .o .c .PHONY: all install uninstall clean