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 (c) 1994, 2010, Oracle and/or its affiliates. All rights reserved. 23 # Copyright 2016 RackTop Systems. 24 # 25 26 objs/%.o \ 27 pics/%.o: %.c 28 $(COMPILE.c) -o $@ $< 29 $(POST_PROCESS_O) 30 31 objs/%64.o \ 32 pics/%64.o: ../common/%.c 33 $(COMPILE.c) -D_ELF64 -o $@ $< 34 $(POST_PROCESS_O) 35 36 objs/%.o \ 37 pics/%.o: ../misc/%.c 38 $(COMPILE.c) -DELF -o $@ $< 39 $(POST_PROCESS_O) 40 41 objs/%.o \ 42 pics/%.o: ../common/%.c 43 $(COMPILE.c) -o $@ $< 44 $(POST_PROCESS_O) 45 46 all: $(BLTSRCS) .WAIT $(LIBS) $(LIBLINKS) 47 48 install: all .WAIT $(ROOTFS_LIBS) $(ROOTFS_LINKS) \ 49 $(ROOTFS_LINTLIB) \ 50 .WAIT $(ROOTDEMODIRS) .WAIT $(ROOTDEMOFILES) \ 51 $(ROOTFS_LIBDIR)/$(LINTLIBSRC) 52 53 $(ROOTFS_LIBDIR)/$(LINTLIBSRC): ../common/$(LINTLIBSRC) 54 $(VAR_POUND_1) $(INS.file) ../common/$(LINTLIBSRC) 55 56 lint: $(LINTLIB) $(LINTOUT32) $(LINTOUT64) $(SGSLINTOUT) 57 58 .PARALLEL: $(LINTOUT32) $(LINTOUT64) 59 60 delete: 61 $(RM) $(DYNLIB) 62 63 $(LIBLINKS): 64 $(RM) $(LIBLINKS) 65 $(SYMLINK) $(DYNLIB) $(LIBLINKS) 66 67 CLOBBERFILES += $(LIBLINKS) 68 69 # include common library targets 70 # 71 include $(SRC)/lib/Makefile.targ 72 include $(SRC)/cmd/sgs/Makefile.targ 73 74 xlate.c: ../common/xlate.m4 75 $(M4) < ../common/xlate.m4 > xlate.c 76 77 xlate64.c: ../common/xlate64.m4 78 $(M4) < ../common/xlate64.m4 > xlate64.c 79 80 81 objs/msg.o \ 82 pics/msg.o: msg.c 83 84 objs/error.o \ 85 pics/error.o: msg.h 86 87 objs/ar.o \ 88 pics/ar.o: msg.h 89 90 objs/xlate.o \ 91 pics/xlate.o: xlate.c 92 93 # 94 # Targets needed to support running of Warlock. The old warlock can be 95 # located at: 96 # suntools.eng:/export/tools/internal/warlock 97 # 98 # to use add the following to your path: 99 # export PATH=/net/suntools.eng/export/tools/internal/warlock/bin:$PATH 100 # 101 # The newer warlock is at: 102 # export PATH=/ws/onnv-gate/public/warlock/$MACH:$PATH 103 # 104 # This target has value for manual debugging, but is not suitable 105 # for production use. For this reason, the necessary rules are commented 106 # out with '###'. Remove the comments to use it. 107 # 108 ###warlock := CFLAGS= 109 ### 110 ###.PARALLEL: $(WARLOCKFILES) 111 ###warlock: wlocks .WAIT warlock_files 112 ### warlock -c ../common/libelf.wlcmd $(WARLOCKFILES) 113 ### 114 ###warlock_files: $(BLTSRCS) .WAIT $(WARLOCKFILES) 115 ### 116 ###wlocks: 117 ### -@mkdir -p $@ 118 ### 119 ###wlocks/%.ll: %.c 120 ### wlcc $(CFLAGS) $(CPPFLAGS) -o $@ $< 121 ### 122 ###wlocks/%.ll: ../misc/%.c 123 ### wlcc $(CFLAGS) $(CPPFLAGS) -o $@ $< 124 ### 125 ###wlocks/%.ll: ../common/%.c 126 ### wlcc $(CFLAGS) $(CPPFLAGS) -o $@ $< 127 ### 128 ###wlocks/%64.ll: ../common/%.c 129 ### wlcc -D_ELF64 $(CFLAGS) $(CPPFLAGS) -o $@ $< 130 131 132 # Special target for native builds (ie. when we need to build a version of ld 133 # to build a version of ld :-). 134 135 native: $(SGSLIBDIR)/$(LIBLINKS) 136 137 $(SGSLIBDIR)/$(DYNLIB): pics .WAIT $$(PICS) 138 $(BUILD.SO) 139 $(POST_PROCESS_SO) 140 141 $(SGSLIBDIR)/$(LIBLINKS): $(SGSLIBDIR)/$(DYNLIB) 142 -@$(RM) $(SGSLIBDIR)/$(LIBLINKS) 143 $(SYMLINK) $(DYNLIB) $(SGSLIBDIR)/$(LIBLINKS) 144 145 146 # Derived source and header files (messaging). Make sure that the sgsmsg 147 # command is constructed - libelf might not be built with the whole sgs. 148 149 catalog: $(BLTMESG) 150 151 chkmsg: $(LIBSRCS) 152 sh $(CHKMSG) $(CHKMSGFLAGS) $(LIBSRCS) 153 154 $(BLTDEFS) + \ 155 $(BLTDATA): $(SGSMSG) $(SGSMSGTARG) 156 $(SGSMSG) $(SGSMSGFLAGS2) $(SGSMSGTARG) 157 158 $(BLTMESG): $(SGSMSG) $(SGSMSGALL) xlate.c xlate64.c 159 $(SGSMSG) $(SGSMSGFLAGS1) $(SGSMSGALL) 160 161 $(SGSMSG): FRC 162 @ cd $(SGSTOOLS)/$(MACH); pwd; $(MAKE) catalog 163 @ pwd 164 165 FRC: