# # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the "License"). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # Copyright 2008 Sun Microsystems, Inc. All rights reserved. # Use is subject to license terms. # # Copyright 2015 Nexenta Systems, Inc. All rights reserved. # Copyright 2019 OmniOS Community Edition (OmniOSce) Association. # %.o: ../common/%.c $(COMPILE.c) -o $@ $< $(POST_PROCESS_O) %32.o: ../common/%.c $(COMPILE.c) -o $@ $< $(POST_PROCESS_O) %64.o: ../common/%.c $(COMPILE.c) -D_ELF64 -o $@ $< $(POST_PROCESS_O) %.o: $(SGSCOMMON)/%.c $(COMPILE.c) -o $@ $< $(POST_PROCESS_O) all: $(PROG) $(PROG): $(OBJS) $(MAPFILE) check_struct_layout $(LINK.c) -o $@ $(OBJS) $(LDLIBS) $(POST_PROCESS) check_struct_layout: gen_struct_layout gen_layout_obj.o sed -e '/^#include /q' \ ../common/struct_layout_$(ARCH).c | sed -e '$$d' \ > struct_layout_$(ARCH).tmp ./gen_struct_layout gen_layout_obj.o $(ARCH) \ >> struct_layout_$(ARCH).tmp @diff -u struct_layout_$(ARCH).tmp \ ../common/struct_layout_$(ARCH).c ||\ { echo "Error: struct_layout_$(ARCH).c needs update!" ; exit 1; } touch $@ # We need CTF data in this object. gen_layout_obj.o := CFLAGS += $(CTF_FLAGS) gen_layout_obj.o := CFLAGS64 += $(CTF_FLAGS) gen_layout_obj.o := POST_PROCESS_O = $(CTFCONVERT_O) gen_struct_layout: ../common/gen_struct_layout.c $(NATIVECC) $(NATIVE_CFLAGS) -o $@ \ ../common/gen_struct_layout.c -lctf clean: $(RM) $(OBJS) $(CLEANFILES) gen_struct_layout \ check_struct_layout gen_layout_obj.o \ struct_layout_$(ARCH).tmp delete: $(RM) $(PROG) package \ install: all $(VAR_SGSBINPROG) $(VAR_SGSCCSLINK) include $(SRC)/cmd/Makefile.targ include $(SRC)/cmd/sgs/Makefile.targ # Derived source and header files (messaging). catalog: $(BLTMESG) chkmsg: $(SRCS) sh $(CHKMSG) $(CHKMSGFLAGS) $(SRCS) $(BLTDEFS) + \ $(BLTDATA) + \ $(BLTMESG): $(SGSMSGALL) $(SGSMSG) $(SGSMSGFLAGS) $(SGSMSGALL)