# # Copyright (C) 1999-2007 Hewlett-Packard Co. # Contributed by David Mosberger # Contributed by Stephane Eranian # # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # # * Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # * Redistributions in binary form must reproduce the above # copyright notice, this list of conditions and the following # disclaimer in the documentation and/or other materials # provided with the distribution. # * Neither the name of Hewlett-Packard Co. nor the names of its # contributors may be used to endorse or promote products derived # from this software without specific prior written permission. # # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS # BE LIABLE FOR ANYDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, # OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # .SECONDARY: CHAR_SUBSYSTEM=$(subst 0x,\x,$(SUBSYSTEM)) ifeq ($(IS_MINGW32),) %.efi: %.so @$(ECHO) " OBJCOPY $(notdir $@)" $(HIDE)$(OBJCOPY) -j .text -j .sdata -j .data -j .dynamic -j .rodata -j .rel \ -j .rela -j .rel.* -j .rela.* -j .rel* -j .rela* \ -j .areloc -j .reloc $(FORMAT) $*.so $@ ifeq ($(ARCH),riscv64) ifeq ($(SYSTEM_HAS_EFI_OBJCOPY),0) $(HIDE)/bin/echo -ne "$(CHAR_SUBSYSTEM)" | dd of=$@ bs=1 seek=156 count=1 conv=notrunc status=none endif endif %.efi.debug: %.so @$(ECHO) " OBJCOPY $(notdir $@)" $(HIDE)$(OBJCOPY) -j .debug_info -j .debug_abbrev -j .debug_aranges \ -j .debug_line -j .debug_str -j .debug_ranges \ -j .note.gnu.build-id \ $(FORMAT) $*.so $@ %.so: %.o @$(ECHO) " LD $(notdir $@)" $(HIDE)$(LD) $(LDFLAGS) $^ -o $@ $(LOADLIBES) else %.efi: %.o @$(ECHO) " CCLD $(notdir $@)" $(HIDE)$(CC) $(LDFLAGS) $< -o $@ $(LOADLIBES) endif %.o: %.c @$(ECHO) " CC $(notdir $@)" $(HIDE)$(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ %.s: %.c @$(ECHO) " CC $(notdir $@)" $(HIDE)$(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -S $< -o $@ %.i: %.c @$(ECHO) " CPP $(notdir $@)" $(HIDE)$(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -E $< -o $@ %.o: %.S @$(ECHO) " CC $(notdir $@)" $(HIDE)$(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -c $< -o $@ %.s: %.S @$(ECHO) " CPP $(notdir $@)" $(HIDE)$(CC) $(INCDIR) $(CFLAGS) $(CPPFLAGS) -E $< -o $@