17c478bd9Sstevel@tonic-gate# 27c478bd9Sstevel@tonic-gate# CDDL HEADER START 37c478bd9Sstevel@tonic-gate# 47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the 57c478bd9Sstevel@tonic-gate# Common Development and Distribution License, Version 1.0 only 67c478bd9Sstevel@tonic-gate# (the "License"). You may not use this file except in compliance 77c478bd9Sstevel@tonic-gate# with the License. 87c478bd9Sstevel@tonic-gate# 97c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 107c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing. 117c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions 127c478bd9Sstevel@tonic-gate# and limitations under the License. 137c478bd9Sstevel@tonic-gate# 147c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each 157c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 167c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the 177c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying 187c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner] 197c478bd9Sstevel@tonic-gate# 207c478bd9Sstevel@tonic-gate# CDDL HEADER END 217c478bd9Sstevel@tonic-gate# 227c478bd9Sstevel@tonic-gate# 237c478bd9Sstevel@tonic-gate# Copyright 2004 Sun Microsystems, Inc. All rights reserved. 247c478bd9Sstevel@tonic-gate# Use is subject to license terms. 257c478bd9Sstevel@tonic-gate# 26*7014882cSRichard Lowe 277c478bd9Sstevel@tonic-gate# 287c478bd9Sstevel@tonic-gate# Debugging targets 297c478bd9Sstevel@tonic-gate# sort provides a number of debugging options to simplify failure analysis. 307c478bd9Sstevel@tonic-gate# 317c478bd9Sstevel@tonic-gate# debug provides symbol information and sets DEBUG; includes 327c478bd9Sstevel@tonic-gate# convert, invoke 337c478bd9Sstevel@tonic-gate# stats builds binaries with statistics reporting enabled 347c478bd9Sstevel@tonic-gate# convert builds convert binaries (converts input to collation 357c478bd9Sstevel@tonic-gate# vectors) 367c478bd9Sstevel@tonic-gate# invoke builds invoke binaries (allows inspection of options 377c478bd9Sstevel@tonic-gate# parser outcome) 387c478bd9Sstevel@tonic-gate# 397c478bd9Sstevel@tonic-gate# Debugging #defines 407c478bd9Sstevel@tonic-gate# DEBUG activate assertions; allow wider range of memory 417c478bd9Sstevel@tonic-gate# settings (-S) 427c478bd9Sstevel@tonic-gate# DEBUG_FORCE_WIDE force all i/o through wide streams 437c478bd9Sstevel@tonic-gate# DEBUG_DISALLOW_MMAP force all i/o through stdio or wide streams 447c478bd9Sstevel@tonic-gate# DEBUG_NO_CACHE_TEMP do not cache last sorted portion in memory; write all 457c478bd9Sstevel@tonic-gate# data to temporary files before merge 467c478bd9Sstevel@tonic-gate# 477c478bd9Sstevel@tonic-gate 487c478bd9Sstevel@tonic-gatePROG = sort 497c478bd9Sstevel@tonic-gateXPG4PROG = sort 507c478bd9Sstevel@tonic-gate 517c478bd9Sstevel@tonic-gateBASE_OBJS = \ 527c478bd9Sstevel@tonic-gate check.o \ 537c478bd9Sstevel@tonic-gate fields.o \ 547c478bd9Sstevel@tonic-gate initialize.o \ 557c478bd9Sstevel@tonic-gate internal.o \ 567c478bd9Sstevel@tonic-gate merge.o \ 577c478bd9Sstevel@tonic-gate options.o \ 587c478bd9Sstevel@tonic-gate streams.o \ 597c478bd9Sstevel@tonic-gate streams_array.o \ 607c478bd9Sstevel@tonic-gate streams_mmap.o \ 617c478bd9Sstevel@tonic-gate streams_stdio.o \ 627c478bd9Sstevel@tonic-gate streams_wide.o \ 637c478bd9Sstevel@tonic-gate utility.o 647c478bd9Sstevel@tonic-gateOBJS = main.o $(BASE_OBJS) 657c478bd9Sstevel@tonic-gateINVOKE_OBJS = invoke.o $(BASE_OBJS) 667c478bd9Sstevel@tonic-gateCONVERT_OBJS = convert.o $(BASE_OBJS) 677c478bd9Sstevel@tonic-gateSTATS_OBJS = main.o statistics.o $(BASE_OBJS) 687c478bd9Sstevel@tonic-gate 697c478bd9Sstevel@tonic-gateXPG4OBJS = $(OBJS:%.o=xpg4_%.o) 707c478bd9Sstevel@tonic-gateSRCS = $(OBJS:%.o=../common/%.c) 717c478bd9Sstevel@tonic-gateLNTS = $(OBJS:%.o=%.ln) 727c478bd9Sstevel@tonic-gateCLEANFILES = $(OBJS) $(XPG4OBJS) $(LNTS) 737c478bd9Sstevel@tonic-gate 747c478bd9Sstevel@tonic-gateinclude ../../Makefile.cmd 757c478bd9Sstevel@tonic-gate 767c478bd9Sstevel@tonic-gateSED = sed 777c478bd9Sstevel@tonic-gateDCFILE = $(PROG).dc 787c478bd9Sstevel@tonic-gate 797c478bd9Sstevel@tonic-gateSPACEFLAG = 807c478bd9Sstevel@tonic-gateSPACEFLAG64 = 817c478bd9Sstevel@tonic-gate 827c478bd9Sstevel@tonic-gateCFLAGS += $(CCVERBOSE) $(SORT_DEBUG) 837c478bd9Sstevel@tonic-gateCFLAGS64 += $(CCVERBOSE) $(SORT_DEBUG) 847c478bd9Sstevel@tonic-gateCPPFLAGS += -D_FILE_OFFSET_BITS=64 857c478bd9Sstevel@tonic-gateLINTFLAGS += -U_FILE_OFFSET_BITS 867c478bd9Sstevel@tonic-gate 87*7014882cSRichard LoweCERRWARN += -_gcc=-Wno-parentheses 88*7014882cSRichard LoweCERRWARN += -_gcc=-Wno-uninitialized 89*7014882cSRichard LoweCERRWARN += -_gcc=-Wno-unused-function 90*7014882cSRichard Lowe 917c478bd9Sstevel@tonic-gate$(XPG4) := CFLAGS += -DXPG4 927c478bd9Sstevel@tonic-gate 937c478bd9Sstevel@tonic-gatedebug := SORT_DEBUG = -g -DDEBUG $(ILDOFF) 947c478bd9Sstevel@tonic-gatedebug := COPTFLAG = 957c478bd9Sstevel@tonic-gatedebug := COPTFLAG64 = 967c478bd9Sstevel@tonic-gatestats := SORT_DEBUG = -g -DSTATS -DDEBUG $(ILDOFF) 977c478bd9Sstevel@tonic-gatestats := COPTFLAG = 987c478bd9Sstevel@tonic-gatestats := COPTFLAG64 = 997c478bd9Sstevel@tonic-gate 1007c478bd9Sstevel@tonic-gate.KEEP_STATE : 1017c478bd9Sstevel@tonic-gate 1027c478bd9Sstevel@tonic-gate.PARALLEL : $(OBJS) $(XPG4OBJS) $(LNTS) 1037c478bd9Sstevel@tonic-gate 1047c478bd9Sstevel@tonic-gateall : $(PROG) $(XPG4) 1057c478bd9Sstevel@tonic-gate 1067c478bd9Sstevel@tonic-gatedebug : $(PROG) convert invoke 1077c478bd9Sstevel@tonic-gate 1087c478bd9Sstevel@tonic-gatelint : $(LNTS) 1097c478bd9Sstevel@tonic-gate $(LINT.c) $(LINTFLAGS) $(LNTS) $(LDLIBS) 1107c478bd9Sstevel@tonic-gate 1117c478bd9Sstevel@tonic-gateclean : 1127c478bd9Sstevel@tonic-gate $(RM) $(CLEANFILES) 1137c478bd9Sstevel@tonic-gate 1147c478bd9Sstevel@tonic-gateinclude ../../Makefile.targ 1157c478bd9Sstevel@tonic-gate 1167c478bd9Sstevel@tonic-gate# rules for $(PROG) and $(XPG4) 1177c478bd9Sstevel@tonic-gate 1187c478bd9Sstevel@tonic-gate$(PROG) : $(OBJS) 1197c478bd9Sstevel@tonic-gate $(LINK.c) -o $@ $(OBJS) $(LDLIBS) 1207c478bd9Sstevel@tonic-gate $(POST_PROCESS) 1217c478bd9Sstevel@tonic-gate 1227c478bd9Sstevel@tonic-gate$(XPG4) : $(XPG4OBJS) 1237c478bd9Sstevel@tonic-gate $(LINK.c) -o $@ $(XPG4OBJS) $(LDLIBS) 1247c478bd9Sstevel@tonic-gate $(POST_PROCESS) 1257c478bd9Sstevel@tonic-gate 1267c478bd9Sstevel@tonic-gateinvoke: $(INVOKE_OBJS) 1277c478bd9Sstevel@tonic-gate $(LINK.c) -o $@ $(INVOKE_OBJS) $(LDLIBS) 1287c478bd9Sstevel@tonic-gate 1297c478bd9Sstevel@tonic-gateconvert: $(CONVERT_OBJS) 1307c478bd9Sstevel@tonic-gate $(LINK.c) -o $@ $(CONVERT_OBJS) $(LDLIBS) 1317c478bd9Sstevel@tonic-gate 1327c478bd9Sstevel@tonic-gatestats: $(STATS_OBJS) 1337c478bd9Sstevel@tonic-gate $(LINK.c) -o $@ $(STATS_OBJS) $(LDLIBS) 1347c478bd9Sstevel@tonic-gate 1357c478bd9Sstevel@tonic-gate%.o : ../common/%.c 1367c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1377c478bd9Sstevel@tonic-gate $(POST_PROCESS_O) 1387c478bd9Sstevel@tonic-gate 1397c478bd9Sstevel@tonic-gatexpg4_%.o : ../common/%.c 1407c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 1417c478bd9Sstevel@tonic-gate $(POST_PROCESS_O) 1427c478bd9Sstevel@tonic-gate 1437c478bd9Sstevel@tonic-gate%.o : ../common/%.h types.h 1447c478bd9Sstevel@tonic-gate 1457c478bd9Sstevel@tonic-gatexpg4_%.o : ../common/%.h types.h 1467c478bd9Sstevel@tonic-gate 1477c478bd9Sstevel@tonic-gate%.ln: ../common/%.c 1487c478bd9Sstevel@tonic-gate $(LINT.c) $(LINTFLAGS) -c $< 149