xref: /illumos-gate/usr/src/cmd/file/Makefile (revision cb6207858a9fcc2feaee22e626912fba281ac969)
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 (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21#
22# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
23# Use is subject to license terms.
24#
25# ident	"%Z%%M%	%I%	%E% SMI"
26#
27
28PROG= file
29XPG4PROG= file
30MAGIC= magic
31
32ELFCAP=	$(SRC)/common/elfcap
33SGSRTCID=	$(SRC)/common/sgsrtcid
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) -I$(SGSRTCID)
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
67%.o:	%.c
68	$(COMPILE.c) -o $@ $<
69
70xpg4_%.o:	%.c
71	$(COMPILE.c) -o $@ $<
72
73elfcap.o:	$(ELFCAP)/elfcap.c
74	$(COMPILE.c) -o $@ $(ELFCAP)/elfcap.c
75
76xpg4_elfcap.o:	$(ELFCAP)/elfcap.c
77	$(COMPILE.c) -o $@ $(ELFCAP)/elfcap.c
78
79$(POFILE):	$(POFILES)
80	$(RM) $@
81	cat $(POFILES) > $@
82
83install: all $(ROOTPROG) $(ROOTXPG4PROG) $(ROOTETCMAGIC)
84
85clean:
86	$(RM) $(OBJS) $(XPG4OBJS)
87
88lint: lint_SRCS
89
90include ../Makefile.targ
91