• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1## -----------------------------------------------------------------------
2##
3##   Copyright 2011-2013 Intel Corporation - All Rights Reserved
4##
5##   This program is free software; you can redistribute it and/or modify
6##   it under the terms of the GNU General Public License as published by
7##   the Free Software Foundation, Inc., 53 Temple Place Ste 330,
8##   Boston MA 02111-1307, USA; either version 2 of the License, or
9##   (at your option) any later version; incorporated herein by reference.
10##
11## -----------------------------------------------------------------------
12
13VPATH = $(SRC)
14include $(MAKEDIR)/elf.mk
15
16CFLAGS += -I$(topdir)/core/elflink -I$(topdir)/core/include -I$(topdir)/com32/lib -fvisibility=hidden
17LIBS = --whole-archive $(objdir)/com32/lib/libcom32min.a
18
19OBJS = ldlinux.o cli.o readconfig.o refstr.o colors.o getadv.o adv.o \
20	execute.o chainboot.o kernel.o get_key.o advwrite.o setadv.o \
21	loadhigh.o msg.o
22
23BTARGET = $(LDLINUX)
24
25ifdef EFI_BUILD
26%.e$(BITS): %.elf
27	$(OBJCOPY) --strip-debug --strip-unneeded $< $@
28SONAME = $(patsubst %.elf,%.e$(BITS),$(@F))
29else
30SONAME = $(patsubst %.elf,%.c32,$(@F))
31endif
32
33all: $(BTARGET) ldlinux_lnx.a
34
35ldlinux.elf : $(OBJS)
36	$(LD) $(LDFLAGS) -soname $(SONAME) -o $@ $^ $(LIBS)
37
38LNXCFLAGS += -D__export='__attribute__((visibility("default")))'
39LNXLIBOBJS = get_key.lo
40ldlinux_lnx.a: $(LNXLIBOBJS)
41	rm -f $@
42	$(AR) cq $@ $(LNXLIBOBJS)
43	$(RANLIB) $@
44
45tidy dist:
46	rm -f *.o *.lo *.a *.lst .*.d
47
48clean: tidy
49	rm -f *.lss *.lnx *.com
50
51spotless: clean
52	rm -f *~ \#* $(BTARGET)
53
54install: all
55	mkdir -m 755 -p $(INSTALLROOT)$(AUXDIR)
56	install -m 644 $(BTARGET) $(INSTALLROOT)$(AUXDIR)
57
58
59-include .*.d
60