Files
openbios/config/examples/ppc_rules.xml
Laurent Vivier 7a10250555 ppc, cross-ppc: add -Werror to CFLAGS
git-svn-id: svn://coreboot.org/openbios/openbios-devel@399 f158a5a8-5612-0410-a976-696ce0be7e32
2009-01-13 12:19:11 +00:00

101 lines
3.1 KiB
XML

<rules>
<pre><![CDATA[
#
# Autogenerated OpenBIOS Makefile
# (C) 2004-2005 by the OpenBIOS team
#
ARCH := ppc
ODIR := obj-$(ARCH)
HOSTCC := gcc
HOSTCFLAGS := -Os -Wall -W -DFCOMPILER -DBOOTSTRAP $(CROSSCFLAGS)
HOSTCFLAGS+= -Wredundant-decls -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations
HOSTCFLAGS+= -Wundef -Wendif-labels -Wstrict-aliasing -Wwrite-strings -Wmissing-prototypes
HOSTINCLUDES := -Iinclude -Ikernel/include -I$(ODIR)/target/include
#
# MOLPATH is needed if you want to build openbios-mol.elf
#
MOLPATH=$(HOME)/mol-0.9.71
CC := gcc
AS := as
AR := ar
LD := ld
NM := nm
STRIP := strip
RANLIB := ranlib
CFLAGS := -Os -Wall -msoft-float -DNATIVE_BITWIDTH_EQUALS_HOST_BITWIDTH -USWAP_ENDIANNESS -fno-builtin-bcopy -fno-builtin-log2
CFLAGS+= -Wredundant-decls -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations
CFLAGS+= -Wundef -Wendif-labels -Wstrict-aliasing -Wwrite-strings -Wmissing-prototypes -Werror
INCLUDES := -Iinclude -Ikernel/include -I$(ODIR)/target/include
M4 := m4
#
# pre rules
#
all: mol versions dictionaries host-libraries target-libraries host-executables target-executables
VERSION := "1.0RC1"
versions: $(ODIR)/target/include/openbios-version.h $(ODIR)/forth/version.fs
$(ODIR)/forth/version.fs:
@DATE="$(shell echo `LC_ALL=C TZ=UTC date +'%b %e %Y %H:%M'`)" ; \
( echo ": builddate \" $$DATE\" ; " ; \
echo ": version \" $(VERSION)\" ; " ; ) \
> $(dir $@)/version.fs
$(ODIR)/target/include/openbios-version.h:
@DATE="$(shell echo `LC_ALL=C TZ=UTC date +'%b %e %Y %H:%M'`)" ; \
( echo "#define OPENBIOS_BUILD_DATE \"$$DATE\"" ; \
echo "#define OPENBIOS_VERSION_STR \"$(VERSION)\"" ; \
echo "#define OPENBIOS_RELEASE \"$(VERSION)\"" ; ) \
> $(dir $@)/openbios-version.h
mol:
@grep CONFIG_MOL $(ODIR)/forth/config.fs >/dev/null && ( \
echo "Using MOL path $(MOLPATH)..."; \
ln -s $(MOLPATH)/src/shared/osi_calls.h $(ODIR)/target/include/; \
ln -s $(MOLPATH)/src/shared/osi.h $(ODIR)/target/include/; \
ln -s $(MOLPATH)/src/shared/prom.h $(ODIR)/target/include/; \
ln -s $(MOLPATH)/src/include/boothelper_sh.h $(ODIR)/target/include/; \
ln -s $(MOLPATH)/src/include/video_sh.h $(ODIR)/target/include/; \
ln -s $(MOLPATH)/src/include/pseudofs_sh.h $(ODIR)/target/include/; \
ln -s $(MOLPATH)/src/include/kbd_sh.h $(ODIR)/target/include/; \
ln -s $(MOLPATH)/src/drivers/disk/include/scsi_sh.h $(ODIR)/target/include/; \
ln -s $(MOLPATH)/src/drivers/disk/include/ablk_sh.h $(ODIR)/target/include/ ) || true
]]></pre>
<!-- host compiler build rules -->
<rule target="host" entity="executable">
$(HOSTCC) $(HOSTCFLAGS) -o $@ $^
</rule>
<rule target="host" entity="object">
$(HOSTCC) $(HOSTCFLAGS) $(HOSTINCLUDES) -c -o $@ $^
</rule>
<rule target="host" entity="library">
$(AR) cru $@ $^; ranlib $@
</rule>
<!-- target/cross compiler build rules -->
<rule target="target" entity="executable">
$(CC) $(CFLAGS) -o $@ $^
</rule>
<rule target="target" entity="object">
$(CC) $$EXTRACFLAGS $(CFLAGS) $(INCLUDES) -c -o $@ $^
</rule>
<rule target="target" entity="library">
$(AR) cru $@ $^; $(RANLIB) $@
</rule>
</rules>