xref: /illumos-gate/usr/src/cmd/file/Makefile (revision 4de2612967d06c4fdbf524a62556a1e8118a006f)
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, Version 1.0 only
6# (the "License").  You may not use this file except in compliance
7# with the License.
8#
9# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10# or http://www.opensolaris.org/os/licensing.
11# See the License for the specific language governing permissions
12# and limitations under the License.
13#
14# When distributing Covered Code, include this CDDL HEADER in each
15# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16# If applicable, add the following below this CDDL HEADER, with the
17# fields enclosed by brackets "[]" replaced with your own identifying
18# information: Portions Copyright [yyyy] [name of copyright owner]
19#
20# CDDL HEADER END
21#
22#
23# Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
24# Use is subject to license terms.
25#
26# ident	"%Z%%M%	%I%	%E% SMI"
27#
28
29PROG= file
30XPG4PROG= file
31MAGIC= magic
32
33ELFCAP=	$(SRC)/common/elfcap
34
35LOBJS=	file.o magicutils.o
36OBJS=	$(LOBJS) elfcap.o
37XPG4OBJS= $(OBJS:%.o=xpg4_%.o)
38SRCS=	$(LOBJS:%.o=%.c) $(ELFCAP)/elfcap.c
39
40include ../Makefile.cmd
41
42POFILE= file_all.po
43POFILES= $(LOBJS:%.o=%.po)
44
45LDLIBS += -lelf
46CPPFLAGS += -DCAP_UPPERCASE -I$(ELFCAP)
47$(XPG4) := CFLAGS += -DXPG4
48
49ROOTETCMAGIC= $(MAGIC:%=$(ROOTETC)/%)
50
51$(ROOTETCMAGIC) :=	FILEMODE =	$(LIBFILEMODE)
52
53.PARALLEL:	$(OBJS) $(XPG4OBJS) $(POFILES)
54
55.KEEP_STATE:
56
57all: $(PROG) $(XPG4) $(MAGIC)
58
59$(PROG) : $(OBJS)
60	$(LINK.c) $(OBJS) -o $@ $(LDLIBS)
61	$(POST_PROCESS)
62
63$(XPG4) : $(XPG4OBJS)
64	$(LINK.c) $(XPG4OBJS) -o $@ $(LDLIBS)
65	$(POST_PROCESS)
66
67xpg4_%.o:	%.c
68	$(COMPILE.c) -o $@ $<
69
70elfcap.o:	$(ELFCAP)/elfcap.c
71	$(COMPILE.c) -o $@ $(ELFCAP)/elfcap.c
72
73xpg4_elfcap.o:	$(ELFCAP)/elfcap.c
74	$(COMPILE.c) -o $@ $(ELFCAP)/elfcap.c
75
76$(POFILE):	$(POFILES)
77	$(RM) $@
78	cat $(POFILES) > $@
79
80install: all $(ROOTPROG) $(ROOTXPG4PROG) $(ROOTETCMAGIC)
81
82clean:
83	$(RM) $(OBJS) $(XPG4OBJS)
84
85lint: lint_SRCS
86
87include ../Makefile.targ
88