Makefile revision 6da5aa940d1e163c6f244b5523c22d545bfb954b
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# This file and its contents are supplied under the terms of the
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# Common Development and Distribution License ("CDDL)". You may
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# only use this file in accordance with the terms of the CDDL.
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# A full copy of the text of the CDDL should have accompanied this
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# source. A copy is of the CDDL is also available via the Internet
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# at http://www.illumos.org/license/CDDL.
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# Copyright 2010 Nexenta Systems, Inc. All rights reserved.
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymPROG= mkctype
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymCATEGORY=LC_CTYPE
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherryminclude ../Makefile.common
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymCPPFLAGS += -I$(SRC)/lib/libc/port/locale -D_FILE_OFFSET_BITS=64
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymYFLAGS = -d -b mkctype_yacc
0ba6f73dcd1c9160a44b2872ed0e0d81b51d168fMark JohnsonLFLAGS = -t
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymOBJS = $(MACH)/mkctype_lex.o $(MACH)/mkctype_yacc.tab.o
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymHDRS = ldef.h extern.h
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymCLEANFILES = mkctype_yacc.tab.c mkctype_yacc.tab.h mkctype_lex.c
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymen_COMMON = en_AU en_CA en_GB en_NZ en_US
adc586debf12d2592024c0b8b9e44ffa104f858cMark Johnson
adc586debf12d2592024c0b8b9e44ffa104f858cMark JohnsonASCII = $(en_COMMON:%=%.US-ASCII)
adc586debf12d2592024c0b8b9e44ffa104f858cMark Johnson
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymLATIN1 = $(en_COMMON:%=%.ISO8859-1)
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymLATIN15 = $(en_COMMON:%=%.ISO8859-15)
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymUTF8 = $(en_COMMON:%=%.UTF-8) en_IE.UTF-8
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym.KEEP_STATE:
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymall: $(MACH)/$(PROG) $(MACHLOCALES)
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym$(MACH)/$(PROG): $(OBJS)
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym $(LINK.c) $(OBJS) -o $@ $(LDLIBS)
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym $(POST_PROCESS)
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym$(ASCII:%=$(MACH)/%): $(MACH)/US-ASCII
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym $(RM) $@
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym $(LN) $(MACH)/US-ASCII $@
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym$(LATIN1:%=$(MACH)/%): $(MACH)/ISO8859-1
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym $(RM) $@
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym $(LN) $(MACH)/ISO8859-1 $@
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym$(LATIN15:%=$(MACH)/%): $(MACH)/ISO8859-15
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym $(RM) $@
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym $(LN) $(MACH)/ISO8859-15 $@
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym$(UTF8:%=$(MACH)/%): $(MACH)/UTF-8
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym $(RM) $@
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym $(LN) $(MACH)/UTF-8 $@
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymmkctype_lex.c: mkctype_lex.l mkctype_yacc.tab.h $(HDRS)
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym $(LEX) $(LFLAGS) mkctype_lex.l > $@
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymmkctype_yacc.tab.c mkctype_yacc.tab.h: mkctype_yacc.y $(HDRS)
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym $(YACC) $(YFLAGS) mkctype_yacc.y
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymclean:
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym $(RM) $(OBJS) $(CLEANFILES)
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym $(RM) -r $(MACH)
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# Lint does nothing for us, because yacc and lex outputs are themselves
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# not lint clean. This is something that it would be good to address.
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymlint:
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# Likewise, the yacc and lex outputs are not cstyle clean.
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrymcheck:
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym $(CSTYLE) -cPp $(HDRS)
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym# Rules for building encoding data files.
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym#
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym$(MACH)/%: data/%.src $(MACH)/$(PROG)
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym $(MACH)/$(PROG) -o $@ $(@:$(MACH)/%=data/%.src)
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym
2449e17f82f6097fd2c665b64723e31ceecbeca6sherryminclude ../Makefile.targ
2449e17f82f6097fd2c665b64723e31ceecbeca6sherrym