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 2008 Sun Microsystems, Inc. All rights reserved. 23# Use is subject to license terms. 24# 25 26PROG= m4 27XPG4PROG= m4 28 29include ../../../Makefile.cmd 30include ../../../sgs/Makefile.var 31 32COBJS= m4.o m4ext.o m4macs.o 33 34YOBJS= m4objs/m4y.o 35XPG4YOBJS= m4objs.xpg4/m4y_xpg4.o 36 37OBJS= $(COBJS:%=m4objs/%) $(YOBJS) 38XPG4OBJS= $(COBJS:%=m4objs.xpg4/%) $(XPG4YOBJS) 39ALLOBJS= $(OBJS) $(XPG4OBJS) 40 41YBLTSRCS= ../common/m4y.c 42XPG4BLTSRCS= ../common/m4y_xpg4.c 43BLTSRCS= $(YBLTSRCS) $(XPG4BLTSRCS) 44 45YSRCS= $(COBJS:%.o=../common/%.c) $(YBLTSRCS) 46XPG4SRCS= $(COBJS:%.o=../common/%.c) $(XPG4BLTSRCS) 47SRCS= $(COBJS:%.o=../common/%.c) $(BLTSRCS) 48 49INCLIST= -I../common 50DEFLIST= -DELF 51CPPFLAGS= $(INCLIST) $(DEFLIST) $(CPPFLAGS.master) 52CFLAGS += $(CCVERBOSE) 53CSTD= $(CSTD_GNU99) 54 55CERRWARN += -_gcc=-Wno-parentheses 56CERRWARN += -_gcc=-Wno-unused-label 57CERRWARN += -_gcc=-Wno-uninitialized 58 59LINTFLAGS += $(LDLIBS) 60CLEANFILES += $(LINTOUT) $(BLTSRCS) 61 62m4objs.xpg4/%.o := CPPFLAGS += -DXPG4 63 64m4objs/%.o m4objs.xpg4/%.o: ../common/%.c 65 $(COMPILE.c) -o $@ $< 66 67.KEEP_STATE: 68 69all: $(PROG) $(XPG4) 70 71$(PROG): $(OBJS) 72 $(LINK.c) $(OBJS) -o $@ $(LDLIBS) 73 $(POST_PROCESS) 74 75$(XPG4): $(XPG4OBJS) 76 $(LINK.c) $(XPG4OBJS) -o $@ $(LDLIBS) 77 $(POST_PROCESS) 78 79$(OBJS): m4objs 80 81$(XPG4OBJS): m4objs.xpg4 82 83m4objs m4objs.xpg4: 84 -@mkdir -p $@ 85 86install: all $(VAR_SGSBINPROG) $(ROOTXPG4PROG) $(VAR_SGSCCSLINK) 87 88clean: 89 $(RM) $(ALLOBJS) $(CLEANFILES) 90 91lint: $(LINTOUT) 92 93LINT_HDR= perl ../../tools/lint_hdr.pl 94 95$(LINTOUT): $(SRCS) 96 $(LINT_HDR) $(PROG) > $(LINTOUT) 97 $(LINT_HDR) -s m4 >> $(LINTOUT) 98 $(LINT.c) $(YSRCS) 2>&1 | tee -a $(LINTOUT) 99 100 $(LINT_HDR) -s "XPG m4" >> $(LINTOUT) 101 $(LINT.c) $(XPG4SRCS) 2>&1 | tee -a $(LINTOUT) 102 103include ../../../Makefile.targ 104