1# 2# CDDL HEADER START 3# 4# The contents of this file are subject to the terms of the 5# Common Development and Distribution License (the "License"). 6# You may not use this file except in compliance with the License. 7# 8# You can obtain a copy of the license at src/OPENSOLARIS.LICENSE 9# or http://www.opensolaris.org/os/licensing. 10# See the License for the specific language governing permissions 11# and limitations under the License. 12# 13# When distributing Covered Code, include this CDDL HEADER in each 14# file and include the License file at src/OPENSOLARIS.LICENSE. 15# If applicable, add the following below this CDDL HEADER, with the 16# fields enclosed by brackets "[]" replaced with your own identifying 17# information: Portions Copyright [yyyy] [name of copyright owner] 18# 19# CDDL HEADER END 20# 21# 22# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. 23# 24 25# Toolset to unify the code conversion tables. 26# Created for one-time use. 27 28include $(SRC)/Makefile.master 29 30INTEGRATED = \ 31 646%8859.c \ 32 646da%8859.c \ 33 646de%8859.c \ 34 646en%8859.c \ 35 646es%8859.c \ 36 646fr%8859.c \ 37 646it%8859.c \ 38 646sv%8859.c \ 39 8859%646.c \ 40 8859%646da.c \ 41 8859%646de.c \ 42 8859%646en.c \ 43 8859%646es.c \ 44 8859%646fr.c \ 45 8859%646it.c \ 46 8859%646sv.c \ 47 8859-1%IBM-037.c \ 48 8859-1%IBM-500.c \ 49 8859-1%IBM-850.c \ 50 IBM-037%8859-1.c \ 51 IBM-500%8859-1.c \ 52 IBM-850%8859-1.c \ 53 alt%iso5.c \ 54 alt%koi8.c \ 55 alt%mac.c \ 56 alt%win5.c \ 57 dhn%dos2.c \ 58 dhn%iso2.c \ 59 dhn%maz.c \ 60 dhn%win2.c \ 61 dos2%dhn.c \ 62 dos2%iso2.c \ 63 dos2%maz.c \ 64 dos2%win2.c \ 65 iso2%dhn.c \ 66 iso2%dos2.c \ 67 iso2%maz.c \ 68 iso2%win2.c \ 69 iso5%alt.c \ 70 iso5%koi8.c \ 71 iso5%mac.c \ 72 iso5%win5.c \ 73 koi8%alt.c \ 74 koi8%iso5.c \ 75 koi8%mac.c \ 76 koi8%win5.c \ 77 mac%alt.c \ 78 mac%iso5.c \ 79 mac%koi8.c \ 80 mac%win5.c \ 81 maz%dhn.c \ 82 maz%dos2.c \ 83 maz%iso2.c \ 84 maz%win2.c \ 85 win2%dhn.c \ 86 win2%dos2.c \ 87 win2%iso2.c \ 88 win2%maz.c \ 89 win5%alt.c \ 90 win5%iso5.c \ 91 win5%koi8.c \ 92 win5%mac.c 93 94MISSING = \ 95 alt%iso.c \ 96 alt%koi.c \ 97 alt%win.c \ 98 dhn%ib2.c \ 99 dhn%is2.c \ 100 dhn%wi2.c \ 101 ib2%dhn.c \ 102 ib2%is2.c \ 103 ib2%maz.c \ 104 ib2%wi2.c \ 105 is2%dhn.c \ 106 is2%ib2.c \ 107 is2%maz.c \ 108 is2%wi2.c \ 109 iso%alt.c \ 110 iso%koi.c \ 111 iso%mac.c \ 112 iso%win.c \ 113 koi%alt.c \ 114 koi%iso.c \ 115 koi%mac.c \ 116 koi%win.c \ 117 mac%iso.c \ 118 mac%koi.c \ 119 mac%win.c \ 120 maz%ib2.c \ 121 maz%is2.c \ 122 maz%wi2.c \ 123 wi2%dhn.c \ 124 wi2%ib2.c \ 125 wi2%is2.c \ 126 wi2%maz.c \ 127 win%alt.c \ 128 win%iso.c \ 129 win%koi.c \ 130 win%mac.c 131 132MODULES = $(INTEGRATED) 133# $(MISSING) 134 135BINARYTABLES = \ 136 8859-16%8859-2 \ 137 8859-16%ibm850 \ 138 8859-16%ibm870 \ 139 8859-2%8859-16 \ 140 ibm850%8859-16 \ 141 ibm870%8859-16 142 143TABLES = table.8859-1.IBM-500.c table.IBM-500.8859-1.c table.alt.iso.c table.alt.koi.c \ 144table.alt.mac.c table.alt.win.c table.dhn.ib2.c table.dhn.is2.c table.dhn.maz.c table.dhn.wi2.c table.ib2.dhn.c table.ib2.is2.c \ 145table.ib2.maz.c table.ib2.wi2.c table.is2.dhn.c table.is2.ib2.c table.is2.maz.c table.is2.wi2.c table.iso.alt.c table.iso.koi.c \ 146table.iso.mac.c table.iso.win.c table.koi.alt.c table.koi.iso.c table.koi.mac.c table.koi.win.c table.mac.alt.c table.mac.iso.c \ 147table.mac.koi.c table.mac.win.c table.maz.dhn.c table.maz.ib2.c table.maz.is2.c table.maz.wi2.c table.wi2.dhn.c table.wi2.ib2.c \ 148table.wi2.is2.c table.wi2.maz.c table.win.alt.c table.win.iso.c table.win.koi.c table.win.mac.c 149 150GEN_SRC = $(MODULES:%.c=gen_%.c) 151GEN_BIN = $(MODULES:%.c=gen_%) 152TBL = $(MODULES:%.c=%.tbl) 153HEADERS = $(MODULES:%.c=%.head) 154BTBL = $(BINARYTABLES:%=%.btbl) 155 156all: $(TBL) $(BTBL) 157 echo Now run: ./rename 158 159# .c -> .tbl 160gen_%.c: ../%.c debug.inc 161 cat $< debug.inc > $@ 162 163%.head: ../%.c 164 awk '/stdio.h/{x=1} x==0 && !/^#ident/ && $$1!="" {print}' $< > $@ 165 166gen_%: gen_%.c 167 $(CC) -xO3 -I. -I.. -DDEBUG -o $@ $< 168 169%.tbl: gen_% %.head input copyright 170 ./$< input > $@.tmp 171 ID=`echo $@ | perl -pe 's:\.tbl::'` ; \ 172 echo "\n/*\n * Automatically generated from: $$ID.c\n */" > $$ID.info ; \ 173 cat $$ID.head $$ID.info copyright $@.tmp > $@ 174 $(RM) $@.tmp 175 176debug.inc: 177 printf "\n#include \"debug.c\"\n\n" > $@ 178 179geninput: geninput.c 180 $(CC) -o $@ geninput.c 181 182input: geninput 183 ./geninput > $@ 184 185gentbl: gentbl.c 186 $(CC) -o $@ gentbl.c 187 188 189# .bt -> .btbl 190%.btbl: %.out btbl.head 191 ./rewritetbl $< > $@.tmp 192 ID=`echo $@ | perl -pe 's:\.btbl::'` ; \ 193 echo "\n/*\n * Automatically generated from: $$ID.bt\n */" > $$ID.info ; \ 194 cat btbl.head $$ID.info $@.tmp > $@ 195 $(RM) $@.tmp 196 197%.out: input 198 FROM=`echo $@ | perl -pe 's:%.*::'` ; \ 199 TO=`echo $@ | perl -pe 's:.*%:: ; s:\.out::'` ; \ 200 /usr/bin/iconv -f $$FROM -t $$TO input > $@ 201 202btbl.head: rewritetbl.c 203 awk '/stdio.h/{x=1} x==0 && $$1!="" {print}' rewritetbl.c > $@ 204 205rewritetbl: rewritetbl.c 206 $(CC) -o $@ rewritetbl.c 207 208clean: 209 $(RM) -r *.head *.tbl gen_* *info debug.inc *.out *.btbl 210