coreboot/util/lar/Makefile
Stefan Reinauer c4f05ee85c Add a top level target to the LAR makefile so it can be built by itself
in the LBv3 tree.  Also remove any reference to the build system so that
LAr can be constructed in an un-configured tree.

Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>
Acked-by: Stefan Reinauer <stepan@coresystems.de>



git-svn-id: svn://coreboot.org/repository/LinuxBIOSv3@468 f3766cd6-281f-0410-b1cd-43a5c92072e9
2007-08-19 17:21:20 +00:00

85 lines
2.7 KiB
Makefile

##
## lar - LinuxBIOS archiver
##
## Copyright (C) 2006 coresystems GmbH
## (Written by Stefan Reinauer <stepan@coresystems.de> for coresystems GmbH)
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; version 2 of the License.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA, 02110-1301 USA
##
LAROBJ := lar.o create.o extract.o list.o lib.o bootblock.o
LARDIR := lardir
ifeq ($(CONFIG_COMPRESSION_LZMA),y)
COMPRESSOR := $(LZMA_OBJ) $(obj)/util/lzma/lzma-compress.o
LARDIR += lzmadir
endif
ifeq ($(CONFIG_COMPRESSION_NRV2B),y)
COMPRESSOR += $(obj)/util/nrv2b/nrv2b-compress.o
LARDIR += nrv2bdir
endif
LAROBJ_ABS := $(patsubst %,$(obj)/util/lar/%,$(LAROBJ))
lardir:
$(Q)printf " BUILD LAR\n"
$(Q)mkdir -p $(obj)/util/lar
$(obj)/util/lar/lar: $(LARDIR) $(LAROBJ_ABS) $(COMPRESSOR)
$(Q)printf " HOSTCXX $(subst $(shell pwd)/,,$(@))\n"
$(Q)$(HOSTCXX) $(HOSTCXXFLAGS) -o $@ $(LAROBJ_ABS) $(COMPRESSOR)
$(obj)/util/lar/%.o: $(src)/util/lar/%.c
$(Q)printf " HOSTCC $(subst $(shell pwd)/,,$(@))\n"
$(Q)$(HOSTCC) $(HOSTCFLAGS) -c $< -o $@
lar: $(obj)/util/lar/lar
# -----------------------------------------------------------------------------
# Stuff below this line is for debugging purposes only.
ifdef DEBUG_LAR
example: example.c
$(Q)$(CC) $(CFLAGS) -o $@ $^
clean:
$(Q)rm -rf lar tree.lar tree tree2 example
tree:
$(Q)printf "Creating sample tree... "
$(Q)rm -rf tree
$(Q)mkdir tree
$(Q)mkdir -p tree/compression
$(Q)mkdir -p tree/normal
$(Q)mkdir -p tree/fallback
$(Q)dd if=/dev/urandom of=tree/compression/lzma bs=1k count=8 &>/dev/null
$(Q)dd if=/dev/urandom of=tree/normal/linuxbios.elf.lzma bs=1k count=32 &>/dev/null
$(Q)dd if=/dev/urandom of=tree/normal/initmem bs=1k count=16 &>/dev/null
$(Q)dd if=/dev/urandom of=tree/fallback/linuxbios.elf.lzma bs=1k count=32 &>/dev/null
$(Q)dd if=/dev/urandom of=tree/fallback/initmem bs=1k count=16 &>/dev/null
$(Q)printf "done.\n"
tree.lar: lar tree
$(Q)cd tree; ../lar c ../tree.lar `find . -type f | cut -c3-`
test: lar example tree.lar
$(Q)mkdir tree2; cd tree2; ../lar x ../tree.lar
$(Q)printf "Comparing tree:\n"
$(Q)diff -urN tree tree2
$(Q)rm -rf tree tree2
$(Q)./example tree.lar
endif