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 5c13de8f6Sab196087# Common Development and Distribution License (the "License"). 6c13de8f6Sab196087# You may not use this file except in compliance with the License. 77c478bd9Sstevel@tonic-gate# 87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing. 107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions 117c478bd9Sstevel@tonic-gate# and limitations under the License. 127c478bd9Sstevel@tonic-gate# 137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each 147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the 167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying 177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner] 187c478bd9Sstevel@tonic-gate# 197c478bd9Sstevel@tonic-gate# CDDL HEADER END 207c478bd9Sstevel@tonic-gate# 217c478bd9Sstevel@tonic-gate# 229a411307Srie# Copyright 2007 Sun Microsystems, Inc. All rights reserved. 237c478bd9Sstevel@tonic-gate# Use is subject to license terms. 247c478bd9Sstevel@tonic-gate# 257c478bd9Sstevel@tonic-gate 267c478bd9Sstevel@tonic-gatePROG= file 277c478bd9Sstevel@tonic-gateXPG4PROG= file 287c478bd9Sstevel@tonic-gateMAGIC= magic 297c478bd9Sstevel@tonic-gate 307c478bd9Sstevel@tonic-gateELFCAP= $(SRC)/common/elfcap 31c13de8f6Sab196087SGSRTCID= $(SRC)/common/sgsrtcid 327c478bd9Sstevel@tonic-gate 33c2c65e21Sny155746LOBJS= file.o elf_read32.o elf_read64.o magicutils.o 347c478bd9Sstevel@tonic-gateOBJS= $(LOBJS) elfcap.o 357c478bd9Sstevel@tonic-gateXPG4OBJS= $(OBJS:%.o=xpg4_%.o) 36c2c65e21Sny155746SRCS= file.c elf_read.c magicutils.c $(ELFCAP)/elfcap.c 377c478bd9Sstevel@tonic-gate 387c478bd9Sstevel@tonic-gateinclude ../Makefile.cmd 397c478bd9Sstevel@tonic-gate 40*c4397e61SRobert MustacchiCSTD= $(CSTD_GNU99) 41*c4397e61SRobert MustacchiC99LMODE= -Xc99=%all 42*c4397e61SRobert Mustacchi 437014882cSRichard LoweCERRWARN += -_gcc=-Wno-uninitialized 447014882cSRichard LoweCERRWARN += -_gcc=-Wno-type-limits 457014882cSRichard Lowe 467c478bd9Sstevel@tonic-gatePOFILE= file_all.po 47c2c65e21Sny155746POFILES= $(SRCS:%.c=%.po) 48c2c65e21Sny155746 49c2c65e21Sny155746# The debug binary can be built using the flag 50c2c65e21Sny155746# -D COPTFLAG=-g CGLOBALSTATIC= 51c2c65e21Sny155746# This will avoid the multiple symbols definition error 52c2c65e21Sny155746# for static global variables in elf_read32.o and elf_read64.o 537c478bd9Sstevel@tonic-gate 547c478bd9Sstevel@tonic-gateLDLIBS += -lelf 5599f63845Sab196087CPPFLAGS += -I$(ELFCAP) -I$(SGSRTCID) 567c478bd9Sstevel@tonic-gate$(XPG4) := CFLAGS += -DXPG4 577c478bd9Sstevel@tonic-gate 587c478bd9Sstevel@tonic-gateROOTETCMAGIC= $(MAGIC:%=$(ROOTETC)/%) 597c478bd9Sstevel@tonic-gate 607c478bd9Sstevel@tonic-gate$(ROOTETCMAGIC) := FILEMODE = $(LIBFILEMODE) 617c478bd9Sstevel@tonic-gate 627c478bd9Sstevel@tonic-gate.PARALLEL: $(OBJS) $(XPG4OBJS) $(POFILES) 637c478bd9Sstevel@tonic-gate 647c478bd9Sstevel@tonic-gate.KEEP_STATE: 657c478bd9Sstevel@tonic-gate 667c478bd9Sstevel@tonic-gateall: $(PROG) $(XPG4) $(MAGIC) 677c478bd9Sstevel@tonic-gate 687c478bd9Sstevel@tonic-gate$(PROG) : $(OBJS) 697c478bd9Sstevel@tonic-gate $(LINK.c) $(OBJS) -o $@ $(LDLIBS) 707c478bd9Sstevel@tonic-gate $(POST_PROCESS) 717c478bd9Sstevel@tonic-gate 727c478bd9Sstevel@tonic-gate$(XPG4) : $(XPG4OBJS) 737c478bd9Sstevel@tonic-gate $(LINK.c) $(XPG4OBJS) -o $@ $(LDLIBS) 747c478bd9Sstevel@tonic-gate $(POST_PROCESS) 757c478bd9Sstevel@tonic-gate 769a411307Srie%.o: %.c 779a411307Srie $(COMPILE.c) -o $@ $< 789a411307Srie 79c2c65e21Sny155746%32.o: %.c 80c2c65e21Sny155746 $(COMPILE.c) -o $@ $< 81c2c65e21Sny155746 82c2c65e21Sny155746%64.o: %.c 83c2c65e21Sny155746 $(COMPILE.c) -D_ELF64 -o $@ $< 84c2c65e21Sny155746 857c478bd9Sstevel@tonic-gatexpg4_%.o: %.c 867c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 877c478bd9Sstevel@tonic-gate 88c2c65e21Sny155746xpg4_%32.o: %.c 89c2c65e21Sny155746 $(COMPILE.c) -o $@ $< 90c2c65e21Sny155746 91c2c65e21Sny155746xpg4_%64.o: %.c 92c2c65e21Sny155746 $(COMPILE.c) -D_ELF64 -o $@ $< 93c2c65e21Sny155746 947c478bd9Sstevel@tonic-gateelfcap.o: $(ELFCAP)/elfcap.c 957c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $(ELFCAP)/elfcap.c 967c478bd9Sstevel@tonic-gate 977c478bd9Sstevel@tonic-gatexpg4_elfcap.o: $(ELFCAP)/elfcap.c 987c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $(ELFCAP)/elfcap.c 997c478bd9Sstevel@tonic-gate 1007c478bd9Sstevel@tonic-gate$(POFILE): $(POFILES) 1017c478bd9Sstevel@tonic-gate $(RM) $@ 1027c478bd9Sstevel@tonic-gate cat $(POFILES) > $@ 1037c478bd9Sstevel@tonic-gate 1047c478bd9Sstevel@tonic-gateinstall: all $(ROOTPROG) $(ROOTXPG4PROG) $(ROOTETCMAGIC) 1057c478bd9Sstevel@tonic-gate 1067c478bd9Sstevel@tonic-gateclean: 1077c478bd9Sstevel@tonic-gate $(RM) $(OBJS) $(XPG4OBJS) 1087c478bd9Sstevel@tonic-gate 1097c478bd9Sstevel@tonic-gatelint: lint_SRCS 1107c478bd9Sstevel@tonic-gate 1117c478bd9Sstevel@tonic-gateinclude ../Makefile.targ 112