Add iasl to buldgcc and rev the version.
[coreboot.git] / Makefile.inc
index 3f553c629ebb426b7003ed387b5474ea9177b8a7..89467db6d939d21279244538cd8f0ff8eab1736f 100644 (file)
@@ -19,7 +19,7 @@
 
 #######################################################################
 # misleadingly named, this is the coreboot version
-REV=-r$(shell if [ -d $(top)/.svn -a -f "`which svnversion`" ]; then svnversion $(top); else if [ -d $(top)/.git -a -f "`which git`" ]; then git --git-dir=/$(top)/.git log|grep git-svn-id|cut -f 2 -d@|cut -f 1 -d' '|sort -g|tail -1; fi; fi)
+REV=-r$(shell if [ -d $(top)/.git -a -f "`which git`" ]; then git --git-dir=/$(top)/.git show -s --pretty=format:%h; fi)
 export KERNELVERSION      := 4.0$(REV)
 
 #######################################################################
@@ -50,10 +50,10 @@ subdirs-$(CONFIG_ARCH_X86) += src/pc80
 # Add source classes and their build options
 classes-y := ramstage romstage driver smm
 
-ramstage-S-ccopts:=-DASSEMBLY
 romstage-c-ccopts:=-D__PRE_RAM__
-romstage-S-ccopts:=-DASSEMBLY -D__PRE_RAM__
-driver-S-ccopts:=-DASSEMBLY
+romstage-S-ccopts:=-D__PRE_RAM__
+smm-c-ccopts:=-D__SMM__
+smm-S-ccopts:=-D__SMM__
 
 ramstage-c-deps:=$$(OPTION_TABLE_H)
 romstage-c-deps:=$$(OPTION_TABLE_H)
@@ -63,9 +63,9 @@ romstage-c-deps:=$$(OPTION_TABLE_H)
 define ramstage-objs_asl_template
 $(obj)/$(1).ramstage.o: src/$(1).asl $(obj)/config.h
        @printf "    IASL       $$(subst $(top)/,,$$(@))\n"
-       $(CPP) -MMD -MT $$(@) -D__ACPI__ -P -include $(abspath $(obj)/config.h) -I$(src) -I$(src)/mainboard/$(MAINBOARDDIR) $$< -o $$(basename $$@).asl
-       iasl -p $$(obj)/$(1) -tc $$(basename $$@).asl
-       mv $$(obj)/$(1).hex $$(basename $$@).c
+       $(CC) -x assembler-with-cpp -E -MMD -MT $$(@) -D__ACPI__ -P -include $(abspath $(obj)/config.h) -I$(src) -I$(src)/mainboard/$(MAINBOARDDIR) $$< -o $$(basename $$@).asl
+       cd $$(dir $$@); $(IASL) -p $$(notdir $$@) -tc $$(notdir $$(basename $$@)).asl
+       mv $$(basename $$@).hex $$(basename $$@).c
        $(CC) $$(CFLAGS) $$(if $$(subst dsdt,,$$(basename $$(notdir $(1)))), -DAmlCode=AmlCode_$$(basename $$(notdir $(1)))) -c -o $$@ $$(basename $$@).c
        # keep %.o: %.c rule from catching the temporary .c file after a make clean
        mv $$(basename $$@).c $$(basename $$@).hex
@@ -85,7 +85,11 @@ cbfs-files-handler= \
 
 #######################################################################
 # a variety of flags for our build
+CBFS_COMPRESS_FLAG:=
+ifeq ($(CONFIG_COMPRESS_RAMSTAGE),y)
 CBFS_COMPRESS_FLAG:=l
+endif
+
 CBFS_PAYLOAD_COMPRESS_FLAG:=
 CBFS_PAYLOAD_COMPRESS_NAME:=none
 ifeq ($(CONFIG_COMPRESSED_PAYLOAD_LZMA),y)
@@ -102,16 +106,13 @@ INCLUDES += -Isrc/devices/oprom/include
 # abspath is a workaround for romcc
 INCLUDES += -include $(abspath $(obj)/config.h)
 
-CFLAGS = $(INCLUDES) -Os -pipe -g
+CFLAGS = $(INCLUDES) -Os -pipe -g -nostdinc
 CFLAGS += -nostdlib -Wall -Wundef -Wstrict-prototypes -Wmissing-prototypes
 CFLAGS += -Wwrite-strings -Wredundant-decls -Wno-trigraphs
 CFLAGS += -Wstrict-aliasing -Wshadow
 ifeq ($(CONFIG_WARNINGS_ARE_ERRORS),y)
 CFLAGS += -Werror
 endif
-ifneq ($(CONFIG_AMD_AGESA),y)
-CFLAGS += -nostdinc 
-endif
 CFLAGS += -fno-common -ffreestanding -fno-builtin -fomit-frame-pointer
 
 additional-dirs := $(objutil)/cbfstool $(objutil)/romcc $(objutil)/options
@@ -178,7 +179,7 @@ $(objutil)/%.o: $(objutil)/%.c
        @printf "    HOSTCC     $(subst $(objutil)/,,$(@))\n"
        $(HOSTCC) -MMD -I$(subst $(objutil)/,util/,$(dir $<)) -I$(dir $<) $(HOSTCFLAGS) -c -o $@ $<
 
-$(obj)/%.ramstage.o: $(obj)/%.c $(obj)/config.h $(OPTION_TABLE_H)
+$(obj)/%.ramstage.o $(abspath $(obj))/%.ramstage.o: $(obj)/%.c $(obj)/config.h $(OPTION_TABLE_H)
        @printf "    CC         $(subst $(obj)/,,$(@))\n"
        $(CC) -MMD $(CFLAGS) -c -o $@ $<
 
@@ -229,3 +230,17 @@ lint:
        done; \
        test $$FAILED -eq 0 || { echo "ERROR: $$FAILED test(s) failed." &&  exit 1; }; \
        rm -f $$LINTLOG
+
+gitconfig:
+       if ! [ -x .git/hooks/commit-msg ]; then cp util/gitconfig/commit-msg .git/hooks/commit-msg; chmod +x .git/hooks/commit-msg; fi
+       (git config --global user.name >/dev/null && git config --global user.email >/dev/null) || (printf 'Please configure your name and email in git:\n\n git config --global user.name "Your Name Comes Here"\n git config --global user.email your.email@example.com\n'; exit 1)
+
+crossgcc: clean-for-update
+       $(MAKE) -C util/crossgcc build-without-gdb
+
+crosstools: clean-for-update
+       $(MAKE) -C util/crossgcc build
+
+crossgcc-clean: clean-for-update
+       $(MAKE) -C util/crossgcc clean
+