summaryrefslogtreecommitdiff
path: root/usr/src/make_src/rules/master.mk
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/make_src/rules/master.mk')
-rw-r--r--usr/src/make_src/rules/master.mk109
1 files changed, 109 insertions, 0 deletions
diff --git a/usr/src/make_src/rules/master.mk b/usr/src/make_src/rules/master.mk
new file mode 100644
index 0000000..eae7f19
--- /dev/null
+++ b/usr/src/make_src/rules/master.mk
@@ -0,0 +1,109 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+# @(#)master.mk 1.142 06/12/12
+#
+
+include $(TOP)/rules/variant.mk
+
+.KEEP_STATE_FILE: .make.state_${VARIANT}
+
+include $(TOP)/rules/$(VARIANT).mk
+#include $(TOP)/lib/Lib.mk
+
+#include $(TOP)/rules/libraries.mk
+
+DESTDIR =
+
+#
+# Default target to build if no target is specified.
+# All Makefiles should either define an "all" target, or set
+# DEFAULT_TARGET to the default target
+#
+DEFAULT_TARGET = all
+default_target: $$(DEFAULT_TARGET)
+
+#Tools needed for i18n
+GENMSG = genmsg
+
+##-----------------------------------------------------------------
+
+CHMOD = /bin/chmod
+LEX = /usr/ccs/bin/lex
+MV = /bin/mv
+RANLIB = /bin/ranlib
+YACC = /usr/ccs/bin/yacc
+
+##-----------------------------------------------------------------
+
+CPPFLAGS += -DINTER \
+ -I$(TOP)/include
+
+LINTFLAGS += -buxz
+
+
+#LIB += $(LIBCMM) $(LIBSCCS) $(LIBUTIL) -lw
+
+##-----------------------------------------------------------------
+## Rules for building derived files from $(SRC)
+##
+## Run check_catgets before compiling to see if there are any strings that need
+## i18n attention.
+##
+## Use .C extension for derrived source files (e.g., yacc output) and on any
+## others on which you don't want to first run check_catgets.
+
+%.o: $(SRC)/%.cc
+ $(COMPILE.cc) $(OUTPUT_OPTION) $<
+
+%.o:$(SRC)/%.C
+ $(COMPILE.cc) $(OUTPUT_OPTION) $<
+
+%.o:$(SRC)/%.c
+ $(COMPILE.c) $(OUTPUT_OPTION) $<
+
+### Generate preprocessor output
+CPP.c = $(CC) $(CFLAGS) $(CINCLS) -E
+CPP.cc = $(CCC) $(CCFLAGS) $(CCINCLS) -E
+
+%.E: $(SRC)/%.cc
+ $(CPP.cc) $(CPPFLAGS) $(SRC)/$(@:%.E=%.cc) > $*.E
+
+%.E:$(SRC)/%.C
+ $(CPP.cc) $(CPPFLAGS) $(SRC)/$(@:%.E=%.C) > $*.E
+
+%.E:$(SRC)/%.c
+ $(CPP.c) $(CPPFLAGS) $(SRC)/$(@:%.E=%.c) > $*.E
+
+### Lex and yacc
+%.cc: $(SRC)/%.y
+ $(RM) $*.cc $*.h
+ $(YACC) $(YFLAGS) $(SRC)/$*.y
+ $(MV) y.tab.c $*.cc
+ $(MV) y.tab.h $*.h
+ $(CHMOD) a-w $*.cc $*.h
+
+%.C: $(SRC)/%.l
+ $(RM) $*.C
+ $(LEX) $(LEXOPT) $(SRC)/$*.l > $*.C
+ $(CHMOD) a-w $@