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) 2006, 2010, Oracle and/or its affiliates. All rights reserved. 23 # Copyright (c) 2018, Joyent, Inc. 24 # 25 26 LIBRARY = libtopo.a 27 VERS = .1 28 29 BUILTINSRCS = \ 30 cpu.c \ 31 dev.c \ 32 fmd.c \ 33 hc.c \ 34 legacy_hc.c \ 35 mem.c \ 36 mod.c \ 37 pkg.c \ 38 svc.c \ 39 sw.c \ 40 zfs.c 41 42 LIBSRCS = \ 43 topo_2xml.c \ 44 topo_alloc.c \ 45 topo_builtin.c \ 46 topo_error.c \ 47 topo_file.c \ 48 topo_fmri.c \ 49 topo_list.c \ 50 topo_method.c \ 51 topo_mod.c \ 52 topo_module.c \ 53 topo_node.c \ 54 topo_nvl.c \ 55 topo_parse.c \ 56 topo_prop.c \ 57 topo_protocol.c \ 58 topo_rtld.c \ 59 topo_snap.c \ 60 topo_string.c \ 61 topo_subr.c \ 62 topo_tables.c \ 63 topo_tree.c \ 64 topo_xml.c 65 66 OBJECTS = $(BUILTINSRCS:%.c=%.o) $(LIBSRCS:%.c=%.o) 67 68 include ../../../../Makefile.lib 69 include ../../../Makefile.lib 70 71 SRCS = $(BUILTINSRCS:%.c=../common/%.c) $(LIBSRCS:%.c=../common/%.c) 72 LIBS = $(DYNLIB) $(LINTLIB) 73 74 SRCDIR = ../common 75 76 CLEANFILES += $(SRCDIR)/topo_error.c $(SRCDIR)/topo_tables.c 77 78 CPPFLAGS += -I../common -I$(ADJUNCT_PROTO)/usr/include/libxml2 -I. 79 CFLAGS += $(CCVERBOSE) $(C_BIGPICFLAGS) 80 CFLAGS += -D_POSIX_PTHREAD_SEMANTICS 81 CFLAGS64 += $(CCVERBOSE) $(C_BIGPICFLAGS) 82 CERRWARN += -_gcc=-Wno-uninitialized 83 CERRWARN += -_gcc=-Wno-switch 84 CERRWARN += -_gcc=-Wno-parentheses 85 86 # not linted 87 SMATCH=off 88 89 LINTFLAGS = -msux 90 LINTFLAGS64 = -msux -m64 91 92 $(DYNLIB) := LDLIBS += \ 93 -lnvpair -lelf -lumem -lxml2 -lkstat -luuid -ldevinfo \ 94 -lsmbios -lc -ldevid -lipmi -lscf -lpcidb 95 96 $(LINTLIB) := SRCS = $(SRCDIR)/$(LINTSRC) 97 $(LINTLIB) := LINTFLAGS = -nsvx 98 $(LINTLIB) := LINTFLAGS64 = -nsvx -m64 99 $(LINTLIB) := LDLIBS += -lnvpair -lumem -lc 100 101 .KEEP_STATE: 102 103 all: $(LIBS) 104 105 lint: $(LINTLIB) lintcheck 106 107 pics/%.o: ../$(MACH)/%.c 108 $(COMPILE.c) -o $@ $< 109 $(POST_PROCESS_O) 110 111 %.o: ../common/%.c 112 $(COMPILE.c) -o $@ $< 113 $(POST_PROCESS_O) 114 115 ../common/topo_error.c: ../common/mkerror.sh ../common/topo_error.h 116 sh ../common/mkerror.sh liberrors < ../common/topo_error.h > $@ 117 sh ../common/mkerror.sh properrors < ../common/libtopo.h >> $@ 118 sh ../common/mkerror.sh methoderrors < ../common/libtopo.h >> $@ 119 sh ../common/mkerror.sh fmrierrors < ../common/libtopo.h >> $@ 120 sh ../common/mkerror.sh hdlerrors < ../common/libtopo.h >> $@ 121 sh ../common/mkerror.sh moderrors < ../common/topo_mod.h >> $@ 122 123 $(SRCDIR)/topo_tables.c: $(SRCDIR)/mktables.sh $(SRCDIR)/libtopo.h 124 sh $(SRCDIR)/mktables.sh $(SRCDIR)/libtopo.h > $@ 125 126 include ../../../../Makefile.targ 127 include ../../../Makefile.targ