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# 2220c1c355SRod 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 5220c1c355SRod 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 66*b6805bf7SGordon RossCLOBBERFILES += $(LIBLINKS) 67*b6805bf7SGordon Ross 687c478bd9Sstevel@tonic-gate# include common library targets 697c478bd9Sstevel@tonic-gate# 707c478bd9Sstevel@tonic-gateinclude $(SRC)/lib/Makefile.targ 717c478bd9Sstevel@tonic-gateinclude $(SRC)/cmd/sgs/Makefile.targ 727c478bd9Sstevel@tonic-gate 737c478bd9Sstevel@tonic-gatexlate.c: ../common/xlate.m4 747c478bd9Sstevel@tonic-gate $(M4) < ../common/xlate.m4 > xlate.c 757c478bd9Sstevel@tonic-gate 767c478bd9Sstevel@tonic-gatexlate64.c: ../common/xlate64.m4 777c478bd9Sstevel@tonic-gate $(M4) < ../common/xlate64.m4 > xlate64.c 787c478bd9Sstevel@tonic-gate 797c478bd9Sstevel@tonic-gate 807c478bd9Sstevel@tonic-gateobjs/msg.o \ 817c478bd9Sstevel@tonic-gatepics/msg.o: msg.c 827c478bd9Sstevel@tonic-gate 837c478bd9Sstevel@tonic-gateobjs/error.o \ 847c478bd9Sstevel@tonic-gatepics/error.o: msg.h 857c478bd9Sstevel@tonic-gate 867c478bd9Sstevel@tonic-gateobjs/ar.o \ 877c478bd9Sstevel@tonic-gatepics/ar.o: msg.h 887c478bd9Sstevel@tonic-gate 897c478bd9Sstevel@tonic-gateobjs/xlate.o \ 907c478bd9Sstevel@tonic-gatepics/xlate.o: xlate.c 917c478bd9Sstevel@tonic-gate 927c478bd9Sstevel@tonic-gate# 935b764efaSab196087# Targets needed to support running of Warlock. The old warlock can be 947c478bd9Sstevel@tonic-gate# located at: 957c478bd9Sstevel@tonic-gate# suntools.eng:/export/tools/internal/warlock 967c478bd9Sstevel@tonic-gate# 977c478bd9Sstevel@tonic-gate# to use add the following to your path: 987c478bd9Sstevel@tonic-gate# export PATH=/net/suntools.eng/export/tools/internal/warlock/bin:$PATH 997c478bd9Sstevel@tonic-gate# 1005b764efaSab196087# The newer warlock is at: 1015b764efaSab196087# export PATH=/ws/onnv-gate/public/warlock/$MACH:$PATH 1025b764efaSab196087# 1035b764efaSab196087# This target has value for manual debugging, but is not suitable 1045b764efaSab196087# for production use. For this reason, the necessary rules are commented 1055b764efaSab196087# out with '###'. Remove the comments to use it. 1065b764efaSab196087# 1075b764efaSab196087###warlock := CFLAGS= 1085b764efaSab196087### 1095b764efaSab196087###.PARALLEL: $(WARLOCKFILES) 1105b764efaSab196087###warlock: wlocks .WAIT warlock_files 1115b764efaSab196087### warlock -c ../common/libelf.wlcmd $(WARLOCKFILES) 1125b764efaSab196087### 1135b764efaSab196087###warlock_files: $(BLTSRCS) .WAIT $(WARLOCKFILES) 1145b764efaSab196087### 1155b764efaSab196087###wlocks: 1165b764efaSab196087### -@mkdir -p $@ 1175b764efaSab196087### 1185b764efaSab196087###wlocks/%.ll: %.c 1195b764efaSab196087### wlcc $(CFLAGS) $(CPPFLAGS) -o $@ $< 1205b764efaSab196087### 1215b764efaSab196087###wlocks/%.ll: ../misc/%.c 1225b764efaSab196087### wlcc $(CFLAGS) $(CPPFLAGS) -o $@ $< 1235b764efaSab196087### 1245b764efaSab196087###wlocks/%.ll: ../common/%.c 1255b764efaSab196087### wlcc $(CFLAGS) $(CPPFLAGS) -o $@ $< 1265b764efaSab196087### 1275b764efaSab196087###wlocks/%64.ll: ../common/%.c 1285b764efaSab196087### wlcc -D_ELF64 $(CFLAGS) $(CPPFLAGS) -o $@ $< 1297c478bd9Sstevel@tonic-gate 1307c478bd9Sstevel@tonic-gate 1317c478bd9Sstevel@tonic-gate# Special target for native builds (ie. when we need to build a version of ld 1327c478bd9Sstevel@tonic-gate# to build a version of ld :-). 1337c478bd9Sstevel@tonic-gate 1347c478bd9Sstevel@tonic-gatenative: $(SGSPROTO)/$(DYNLIB) 1357c478bd9Sstevel@tonic-gate 1367c478bd9Sstevel@tonic-gate$(SGSPROTO)/$(DYNLIB): \ 137f808c858Sraf pics .WAIT $$(PICS) 1387c478bd9Sstevel@tonic-gate $(BUILD.SO) 1397c478bd9Sstevel@tonic-gate $(POST_PROCESS_SO) 1407c478bd9Sstevel@tonic-gate -@$(RM) $(SGSPROTO)/$(LIBLINKS) 1417c478bd9Sstevel@tonic-gate $(SYMLINK) $(DYNLIB) $(SGSPROTO)/$(LIBLINKS) 1427c478bd9Sstevel@tonic-gate 1437c478bd9Sstevel@tonic-gate 1447c478bd9Sstevel@tonic-gate# Derived source and header files (messaging). Make sure that the sgsmsg 1457c478bd9Sstevel@tonic-gate# command is constructed - libelf might not be built with the whole sgs. 1467c478bd9Sstevel@tonic-gate 1477c478bd9Sstevel@tonic-gatecatalog: $(BLTMESG) 1487c478bd9Sstevel@tonic-gate 1497c478bd9Sstevel@tonic-gatechkmsg: $(LIBSRCS) 1507c478bd9Sstevel@tonic-gate sh $(CHKMSG) $(CHKMSGFLAGS) $(LIBSRCS) 1517c478bd9Sstevel@tonic-gate 1527c478bd9Sstevel@tonic-gate$(BLTDEFS) + \ 1537c478bd9Sstevel@tonic-gate$(BLTDATA): $(SGSMSG) $(SGSMSGTARG) 1547c478bd9Sstevel@tonic-gate $(SGSMSG) $(SGSMSGFLAGS2) $(SGSMSGTARG) 1557c478bd9Sstevel@tonic-gate 1567c478bd9Sstevel@tonic-gate$(BLTMESG): $(SGSMSG) $(SGSMSGALL) xlate.c xlate64.c 1577c478bd9Sstevel@tonic-gate $(SGSMSG) $(SGSMSGFLAGS1) $(SGSMSGALL) 1587c478bd9Sstevel@tonic-gate 1597c478bd9Sstevel@tonic-gate$(SGSMSG): FRC 1607c478bd9Sstevel@tonic-gate @ cd $(SGSTOOLS)/$(MACH); pwd; $(MAKE) catalog 1617c478bd9Sstevel@tonic-gate @ pwd 1627c478bd9Sstevel@tonic-gate 1637c478bd9Sstevel@tonic-gateFRC: 164