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