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 55aefb655Srie# Common Development and Distribution License (the "License"). 65aefb655Srie# 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# 22*20c1c355SRod Evans# Copyright (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved. 237c478bd9Sstevel@tonic-gate# 247c478bd9Sstevel@tonic-gate 257c478bd9Sstevel@tonic-gateobjs/%.o \ 267c478bd9Sstevel@tonic-gatepics/%.o: %.c 277c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 287c478bd9Sstevel@tonic-gate $(POST_PROCESS_O) 297c478bd9Sstevel@tonic-gate 307c478bd9Sstevel@tonic-gateobjs/%64.o \ 317c478bd9Sstevel@tonic-gatepics/%64.o: ../common/%.c 327c478bd9Sstevel@tonic-gate $(COMPILE.c) -D_ELF64 -o $@ $< 337c478bd9Sstevel@tonic-gate $(POST_PROCESS_O) 347c478bd9Sstevel@tonic-gate 357c478bd9Sstevel@tonic-gateobjs/%.o \ 367c478bd9Sstevel@tonic-gatepics/%.o: ../misc/%.c 377c478bd9Sstevel@tonic-gate $(COMPILE.c) -DELF -o $@ $< 387c478bd9Sstevel@tonic-gate $(POST_PROCESS_O) 397c478bd9Sstevel@tonic-gate 407c478bd9Sstevel@tonic-gateobjs/%.o \ 417c478bd9Sstevel@tonic-gatepics/%.o: ../common/%.c 427c478bd9Sstevel@tonic-gate $(COMPILE.c) -o $@ $< 437c478bd9Sstevel@tonic-gate $(POST_PROCESS_O) 447c478bd9Sstevel@tonic-gate 457c478bd9Sstevel@tonic-gateall: $(BLTSRCS) .WAIT $(LIBS) $(LIBLINKS) 467c478bd9Sstevel@tonic-gate 47da2e3ebdSchininstall: all .WAIT $(ROOTFS_LIBS) $(ROOTFS_LINKS) \ 487c478bd9Sstevel@tonic-gate $(ROOTFS_LINTLIB) \ 49da2e3ebdSchin .WAIT $(ROOTDEMODIRS) .WAIT $(ROOTDEMOFILES) \ 50da2e3ebdSchin $(ROOTFS_LIBDIR)/$(LINTLIBSRC) 517c478bd9Sstevel@tonic-gate 52*20c1c355SRod Evans$(ROOTFS_LIBDIR)/$(LINTLIBSRC): ../common/$(LINTLIBSRC) 537c478bd9Sstevel@tonic-gate $(VAR_POUND_1) $(INS.file) ../common/$(LINTLIBSRC) 547c478bd9Sstevel@tonic-gate 557c478bd9Sstevel@tonic-gatelint: $(LINTLIB) $(LINTOUT32) $(LINTOUT64) $(SGSLINTOUT) 567c478bd9Sstevel@tonic-gate 577c478bd9Sstevel@tonic-gate.PARALLEL: $(LINTOUT32) $(LINTOUT64) 587c478bd9Sstevel@tonic-gate 597c478bd9Sstevel@tonic-gatedelete: 607c478bd9Sstevel@tonic-gate $(RM) $(DYNLIB) 617c478bd9Sstevel@tonic-gate 627c478bd9Sstevel@tonic-gate$(LIBLINKS): 637c478bd9Sstevel@tonic-gate $(RM) $(LIBLINKS) 647c478bd9Sstevel@tonic-gate $(SYMLINK) $(DYNLIB) $(LIBLINKS) 657c478bd9Sstevel@tonic-gate 667c478bd9Sstevel@tonic-gate# include common library targets 677c478bd9Sstevel@tonic-gate# 687c478bd9Sstevel@tonic-gateinclude $(SRC)/lib/Makefile.targ 697c478bd9Sstevel@tonic-gateinclude $(SRC)/cmd/sgs/Makefile.targ 707c478bd9Sstevel@tonic-gate 717c478bd9Sstevel@tonic-gatexlate.c: ../common/xlate.m4 727c478bd9Sstevel@tonic-gate $(M4) < ../common/xlate.m4 > xlate.c 737c478bd9Sstevel@tonic-gate 747c478bd9Sstevel@tonic-gatexlate64.c: ../common/xlate64.m4 757c478bd9Sstevel@tonic-gate $(M4) < ../common/xlate64.m4 > xlate64.c 767c478bd9Sstevel@tonic-gate 777c478bd9Sstevel@tonic-gate 787c478bd9Sstevel@tonic-gateobjs/msg.o \ 797c478bd9Sstevel@tonic-gatepics/msg.o: msg.c 807c478bd9Sstevel@tonic-gate 817c478bd9Sstevel@tonic-gateobjs/error.o \ 827c478bd9Sstevel@tonic-gatepics/error.o: msg.h 837c478bd9Sstevel@tonic-gate 847c478bd9Sstevel@tonic-gateobjs/ar.o \ 857c478bd9Sstevel@tonic-gatepics/ar.o: msg.h 867c478bd9Sstevel@tonic-gate 877c478bd9Sstevel@tonic-gateobjs/xlate.o \ 887c478bd9Sstevel@tonic-gatepics/xlate.o: xlate.c 897c478bd9Sstevel@tonic-gate 907c478bd9Sstevel@tonic-gate# 915b764efaSab196087# Targets needed to support running of Warlock. The old warlock can be 927c478bd9Sstevel@tonic-gate# located at: 937c478bd9Sstevel@tonic-gate# suntools.eng:/export/tools/internal/warlock 947c478bd9Sstevel@tonic-gate# 957c478bd9Sstevel@tonic-gate# to use add the following to your path: 967c478bd9Sstevel@tonic-gate# export PATH=/net/suntools.eng/export/tools/internal/warlock/bin:$PATH 977c478bd9Sstevel@tonic-gate# 985b764efaSab196087# The newer warlock is at: 995b764efaSab196087# export PATH=/ws/onnv-gate/public/warlock/$MACH:$PATH 1005b764efaSab196087# 1015b764efaSab196087# This target has value for manual debugging, but is not suitable 1025b764efaSab196087# for production use. For this reason, the necessary rules are commented 1035b764efaSab196087# out with '###'. Remove the comments to use it. 1045b764efaSab196087# 1055b764efaSab196087###warlock := CFLAGS= 1065b764efaSab196087### 1075b764efaSab196087###.PARALLEL: $(WARLOCKFILES) 1085b764efaSab196087###warlock: wlocks .WAIT warlock_files 1095b764efaSab196087### warlock -c ../common/libelf.wlcmd $(WARLOCKFILES) 1105b764efaSab196087### 1115b764efaSab196087###warlock_files: $(BLTSRCS) .WAIT $(WARLOCKFILES) 1125b764efaSab196087### 1135b764efaSab196087###wlocks: 1145b764efaSab196087### -@mkdir -p $@ 1155b764efaSab196087### 1165b764efaSab196087###wlocks/%.ll: %.c 1175b764efaSab196087### wlcc $(CFLAGS) $(CPPFLAGS) -o $@ $< 1185b764efaSab196087### 1195b764efaSab196087###wlocks/%.ll: ../misc/%.c 1205b764efaSab196087### wlcc $(CFLAGS) $(CPPFLAGS) -o $@ $< 1215b764efaSab196087### 1225b764efaSab196087###wlocks/%.ll: ../common/%.c 1235b764efaSab196087### wlcc $(CFLAGS) $(CPPFLAGS) -o $@ $< 1245b764efaSab196087### 1255b764efaSab196087###wlocks/%64.ll: ../common/%.c 1265b764efaSab196087### wlcc -D_ELF64 $(CFLAGS) $(CPPFLAGS) -o $@ $< 1277c478bd9Sstevel@tonic-gate 1287c478bd9Sstevel@tonic-gate 1297c478bd9Sstevel@tonic-gate# Special target for native builds (ie. when we need to build a version of ld 1307c478bd9Sstevel@tonic-gate# to build a version of ld :-). 1317c478bd9Sstevel@tonic-gate 1327c478bd9Sstevel@tonic-gatenative: $(SGSPROTO)/$(DYNLIB) 1337c478bd9Sstevel@tonic-gate 1347c478bd9Sstevel@tonic-gate$(SGSPROTO)/$(DYNLIB): \ 135f808c858Sraf pics .WAIT $$(PICS) 1367c478bd9Sstevel@tonic-gate $(BUILD.SO) 1377c478bd9Sstevel@tonic-gate $(POST_PROCESS_SO) 1387c478bd9Sstevel@tonic-gate -@$(RM) $(SGSPROTO)/$(LIBLINKS) 1397c478bd9Sstevel@tonic-gate $(SYMLINK) $(DYNLIB) $(SGSPROTO)/$(LIBLINKS) 1407c478bd9Sstevel@tonic-gate 1417c478bd9Sstevel@tonic-gate 1427c478bd9Sstevel@tonic-gate# Derived source and header files (messaging). Make sure that the sgsmsg 1437c478bd9Sstevel@tonic-gate# command is constructed - libelf might not be built with the whole sgs. 1447c478bd9Sstevel@tonic-gate 1457c478bd9Sstevel@tonic-gatecatalog: $(BLTMESG) 1467c478bd9Sstevel@tonic-gate 1477c478bd9Sstevel@tonic-gatechkmsg: $(LIBSRCS) 1487c478bd9Sstevel@tonic-gate sh $(CHKMSG) $(CHKMSGFLAGS) $(LIBSRCS) 1497c478bd9Sstevel@tonic-gate 1507c478bd9Sstevel@tonic-gate$(BLTDEFS) + \ 1517c478bd9Sstevel@tonic-gate$(BLTDATA): $(SGSMSG) $(SGSMSGTARG) 1527c478bd9Sstevel@tonic-gate $(SGSMSG) $(SGSMSGFLAGS2) $(SGSMSGTARG) 1537c478bd9Sstevel@tonic-gate 1547c478bd9Sstevel@tonic-gate$(BLTMESG): $(SGSMSG) $(SGSMSGALL) xlate.c xlate64.c 1557c478bd9Sstevel@tonic-gate $(SGSMSG) $(SGSMSGFLAGS1) $(SGSMSGALL) 1567c478bd9Sstevel@tonic-gate 1577c478bd9Sstevel@tonic-gate$(SGSMSG): FRC 1587c478bd9Sstevel@tonic-gate @ cd $(SGSTOOLS)/$(MACH); pwd; $(MAKE) catalog 1597c478bd9Sstevel@tonic-gate @ pwd 1607c478bd9Sstevel@tonic-gate 1617c478bd9Sstevel@tonic-gateFRC: 162