Make.rules incomplete/wrong; make -r failure
[syslinux-gnu-efi.git] / gnuefi / Makefile
blob2a61699ac2598d21a8da3ae13ad0a35004c5af2e
2 # Copyright (C) 1999-2001 Hewlett-Packard Co.
3 # Contributed by David Mosberger <davidm@hpl.hp.com>
4 # Contributed by Stephane Eranian <eranian@hpl.hp.com>
6 # All rights reserved.
8 # Redistribution and use in source and binary forms, with or without
9 # modification, are permitted provided that the following conditions
10 # are met:
12 # * Redistributions of source code must retain the above copyright
13 # notice, this list of conditions and the following disclaimer.
14 # * Redistributions in binary form must reproduce the above
15 # copyright notice, this list of conditions and the following
16 # disclaimer in the documentation and/or other materials
17 # provided with the distribution.
18 # * Neither the name of Hewlett-Packard Co. nor the names of its
19 # contributors may be used to endorse or promote products derived
20 # from this software without specific prior written permission.
22 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
23 # CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
24 # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
25 # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26 # DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
27 # BE LIABLE FOR ANYDIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
28 # OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
29 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
30 # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
31 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
32 # TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
33 # THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 # SUCH DAMAGE.
37 SRCDIR = .
39 VPATH = $(SRCDIR)
41 include $(SRCDIR)/../Make.defaults
43 TOPDIR = $(SRCDIR)/..
45 CDIR=$(TOPDIR)/..
46 FILES = reloc_$(ARCH)
48 OBJS = $(FILES:%=%.o)
50 # on aarch64, avoid jump tables before all relocations have been processed
51 reloc_aarch64.o: CFLAGS += -fno-jump-tables
53 TARGETS = crt0-efi-$(ARCH).o libgnuefi.a
55 all: $(TARGETS)
57 libgnuefi.a: $(patsubst %,libgnuefi.a(%),$(OBJS))
59 clean:
60 rm -f $(TARGETS) *~ *.o $(OBJS)
62 install:
63 mkdir -p $(INSTALLROOT)$(LIBDIR)
64 $(INSTALL) -m 644 $(TARGETS) $(INSTALLROOT)$(LIBDIR)
65 ifneq (,$(findstring FreeBSD,$(OS)))
66 ifeq ($(ARCH),x86_64)
67 $(INSTALL) -m 644 $(SRCDIR)/elf_$(ARCH)_fbsd_efi.lds $(INSTALLROOT)$(LIBDIR)
68 else
69 $(INSTALL) -m 644 $(SRCDIR)/elf_$(ARCH)_efi.lds $(INSTALLROOT)$(LIBDIR)
70 endif
71 else
72 $(INSTALL) -m 644 $(SRCDIR)/elf_$(ARCH)_efi.lds $(INSTALLROOT)$(LIBDIR)
73 endif
75 include $(SRCDIR)/../Make.rules