Makefile revision 6da5aa940d1e163c6f244b5523c22d545bfb954b
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj#
211bf1d44f4653bf753a15740cd5ebbf330b6e93manoj# This file and its contents are supplied under the terms of the
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj# Common Development and Distribution License ("CDDL)". You may
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj# only use this file in accordance with the terms of the CDDL.
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj#
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj# A full copy of the text of the CDDL should have accompanied this
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj# source. A copy is of the CDDL is also available via the Internet
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj# at http://www.illumos.org/license/CDDL.
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj#
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj#
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj# Copyright 2010 Nexenta Systems, Inc. All rights reserved.
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj#
4065b438067f3f08d0bd98b31ac4085b581b931dstoddard
7ba24263a36323ecaf0685758f44001c0800d012stoddardPROG= mkcollate
7ba24263a36323ecaf0685758f44001c0800d012stoddardCATEGORY=LC_COLLATE
7ba24263a36323ecaf0685758f44001c0800d012stoddard
7ba24263a36323ecaf0685758f44001c0800d012stoddardinclude ../Makefile.common
4065b438067f3f08d0bd98b31ac4085b581b931dstoddard
2739add8add66e21526ce27f83c2ae133d089070rbbCPPFLAGS += -I$(SRC)/lib/libc/port/locale -D_FILE_OFFSET_BITS=64
2739add8add66e21526ce27f83c2ae133d089070rbbYFLAGS = -d -b mkcollate_yacc
4065b438067f3f08d0bd98b31ac4085b581b931dstoddardLFLAGS = -t
211bf1d44f4653bf753a15740cd5ebbf330b6e93manoj
211bf1d44f4653bf753a15740cd5ebbf330b6e93manojOBJS = $(MACH)/mkcollate_lex.o $(MACH)/mkcollate_yacc.tab.o
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddardHDRS = common.h
7ba24263a36323ecaf0685758f44001c0800d012stoddardCLEANFILES = mkcollate_yacc.tab.c mkcollate_yacc.tab.h mkcollate_lex.c
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddarden_COMMON = en_AU en_CA en_GB en_NZ en_US
7ba24263a36323ecaf0685758f44001c0800d012stoddarden_ASCII = $(en_COMMON:%=%.US-ASCII)
2a6c49cfaef5979a5a06098f3ce987cd76769409manojen_LATIN1 = $(en_COMMON:%=%.ISO8859-1)
2a6c49cfaef5979a5a06098f3ce987cd76769409manojen_LATIN15 = $(en_COMMON:%=%.ISO8859-15)
369edcdd0a9c5516c61e736ec2a6fc8fb0d92fe2manojen_UTF8 = $(en_COMMON:%=%.UTF-8) en_IE.UTF-8
369edcdd0a9c5516c61e736ec2a6fc8fb0d92fe2manojen_LOCALES = $(en_ASCII) $(en_LATIN1) $(en_LATIN15) $(en_UTF8)
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj.KEEP_STATE:
7ba24263a36323ecaf0685758f44001c0800d012stoddard
7ba24263a36323ecaf0685758f44001c0800d012stoddardall: $(MACH)/$(PROG) $(MACHLOCALES)
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard$(MACH)/$(PROG): $(OBJS)
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard $(LINK.c) $(OBJS) -o $@ $(LDLIBS)
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard $(POST_PROCESS)
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard$(en_LATIN1:%=$(MACH)/%): $(MACH)/en.ISO8859-1
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj $(RM) $@
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj $(LN) $(MACH)/en.ISO8859-1 $@
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj$(en_LATIN15:%=$(MACH)/%): $(MACH)/en.ISO8859-15
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj $(RM) $@
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj $(LN) $(MACH)/en.ISO8859-15 $@
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj$(en_ASCII:%=$(MACH)/%): $(MACH)/en.US-ASCII
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj $(RM) $@
56ca30c968906053ae61acb218420667bb58d996rbb $(LN) $(MACH)/en.US-ASCII $@
56ca30c968906053ae61acb218420667bb58d996rbb
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj$(en_UTF8:%=$(MACH)/%): $(MACH)/en.UTF-8
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj $(RM) $@
56ca30c968906053ae61acb218420667bb58d996rbb $(LN) $(MACH)/en.UTF-8 $@
56ca30c968906053ae61acb218420667bb58d996rbb
56ca30c968906053ae61acb218420667bb58d996rbbmkcollate_lex.c: mkcollate_lex.l mkcollate_yacc.tab.h $(HDRS)
56ca30c968906053ae61acb218420667bb58d996rbb $(FLEX) $(LFLAGS) mkcollate_lex.l > $@
56ca30c968906053ae61acb218420667bb58d996rbb
56ca30c968906053ae61acb218420667bb58d996rbbmkcollate_yacc.tab.c mkcollate_yacc.tab.h: mkcollate_yacc.y $(HDRS)
56ca30c968906053ae61acb218420667bb58d996rbb $(YACC) $(YFLAGS) mkcollate_yacc.y
56ca30c968906053ae61acb218420667bb58d996rbb
7ba24263a36323ecaf0685758f44001c0800d012stoddardclean:
7ba24263a36323ecaf0685758f44001c0800d012stoddard $(RM) $(OBJS) $(CLEANFILES)
7ba24263a36323ecaf0685758f44001c0800d012stoddard $(RM) -r $(MACH)
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard#
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard# Lint does nothing for us, because yacc and lex outputs are themselves
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard# not lint clean. This is something that it would be good to address.
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard#
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddardlint:
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard#
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard# Likewise, the yacc and lex outputs are not cstyle clean.
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard#
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddardcheck:
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard $(CSTYLE) -cPp $(HDRS)
7ba24263a36323ecaf0685758f44001c0800d012stoddard
7ba24263a36323ecaf0685758f44001c0800d012stoddard
9c09943bad734ebd5c7cc10bd6d63b75c4c6e056stoddard#
aa1faea36e4ae357bc603a2337b6adc54f5daec1manoj# Rules for building encoding data files.
aa1faea36e4ae357bc603a2337b6adc54f5daec1manoj#
aa1faea36e4ae357bc603a2337b6adc54f5daec1manoj$(MACH)/%: data/%.src $(MACH)/$(PROG)
aa1faea36e4ae357bc603a2337b6adc54f5daec1manoj $(MACH)/$(PROG) -o $@ -I data $(@:$(MACH)/%=data/%.src)
2a6c49cfaef5979a5a06098f3ce987cd76769409manoj
302dc1f7b3feee23a91ad8f3cf3cb2edd95a557bmanojinclude ../Makefile.targ
302dc1f7b3feee23a91ad8f3cf3cb2edd95a557bmanoj