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) 1989, 2010, Oracle and/or its affiliates. All rights reserved. 23 # Copyright (c) 2019, Joyent, Inc. 24 # 25 26 # 27 # included to define local library targets 28 # 29 30 # conditional assignment of default permissions for the installed 31 # DYNLIB/DYNLIBCCC. Set here and in Makefile.mach, instead of Makefile.lib, 32 # because ROOTLIBDIR may be changed in the including makefile after it has 33 # included Makefile.lib. 34 # 35 $(ROOTLIBDIR)/$(DYNLIB) := FILEMODE= 755 36 $(ROOTLIBDIR)/$(DYNLIBCCC) := FILEMODE= 755 37 38 $(ROOTFS_LIBDIR)/$(DYNLIB) := FILEMODE= 755 39 $(ROOTFS_LIBDIR)/$(DYNLIBCCC) := FILEMODE= 755 40 41 $(ROOTLIBDIR64)/$(DYNLIB) := FILEMODE= 755 42 $(ROOTLIBDIR64)/$(DYNLIBCCC) := FILEMODE= 755 43 44 # install rules 45 $(ROOTHDRDIR)/%: $(HDRDIR)/% 46 $(INS.file) 47 48 $(ROOTLIBDIR)/%: % 49 $(INS.file) 50 $(ROOTLIBDIR64)/%: % 51 $(INS.file) 52 $(ROOTFS_LIBDIR)/%: % 53 $(INS.file) 54 $(ROOTFS_LIBDIR64)/%: % 55 $(INS.file) 56 57 $(ROOTLIBDIR)/$(LIBLINKS): $(ROOTLIBDIR)/$(LIBLINKS)$(VERS) 58 $(INS.liblink) 59 $(ROOTLIBDIR64)/$(LIBLINKS): $(ROOTLIBDIR64)/$(LIBLINKS)$(VERS) 60 $(INS.liblink64) 61 62 $(ROOTLIBDIR)/$(LIBLINKSCCC): $(ROOTLIBDIR)/$(LIBLINKSCCC)$(VERS) 63 $(INS.liblinkccc) 64 $(ROOTLIBDIR64)/$(LIBLINKSCCC): $(ROOTLIBDIR64)/$(LIBLINKSCCC)$(VERS) 65 $(INS.liblinkccc64) 66 67 $(ROOTLINTDIR)/%: $(SRCDIR)/% 68 $(INS.file) 69 $(ROOTFS_LINTDIR)/%: $(SRCDIR)/% 70 $(INS.file) 71 72 $(ROOTDEMODIRS): 73 $(INS.dir) 74 $(ROOTDEMODIRBASE)/%: $(DEMOFILESRCDIR)/% 75 $(INS.file) 76 77 objs/%.o pics/%.o: $(SRCDIR)/%.c 78 $(COMPILE.c) -o $@ $< 79 $(POST_PROCESS_O) 80 81 objs/%.o pics/%.o: $(SRCDIR)/%.cc 82 $(COMPILE.cc) -o $@ $< 83 $(POST_PROCESS_CC_O) 84 85 objs pics: 86 -@mkdir -p $@ 87 88 $(LIBRARY): objs .WAIT $$(OBJS) 89 $(BUILD.AR) 90 $(POST_PROCESS_A) 91 92 $(DYNLIB): $$(MAPFILES) 93 94 $(DYNLIB): pics .WAIT $$(PICS) $$(ALTPICS) $$(EXTPICS) 95 $(BUILD.SO) 96 $(POST_PROCESS_SO) 97 98 $(DYNLIBCCC): pics .WAIT $$(PICS) $$(ALTPICS) $$(EXTPICS) 99 $(BUILDCCC.SO) 100 $(POST_PROCESS_SO) 101 102 $(LINTLIB): $$(SRCS) 103 $(LINT.c) -o $(LIBNAME) $(SRCS) > $(LINTOUT) 2>&1 104 105 lintcheck: $$(SRCS) 106 $(LINT.c) $(LINTCHECKFLAGS) $(SRCS) $(LDLIBS) 107 108 $(TYPECHECK): $(TYPECHECK_LIB32) $(TYPECHECK_LIB64) 109 $(TYPECHECK.lib) 110 111 clobber: clean 112 -$(RM) $(CLOBBERTARGFILES) 113 114 clean: 115 -$(RM) $(OBJS) 116 -$(RM) $(PICS) $(DUPLICATE_SRC) $(LINTOUT) $(LINTLIB) $(CLEANFILES) 117 118 $(ROOTCOMPATLINKS): 119 $(RM) $@; $(SYMLINK) $(COMPATLINKTARGET) $@ 120 121 $(ROOTCOMPATLINKS64): 122 $(RM) $@; $(SYMLINK) $(COMPATLINKTARGET) $@ 123