[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH RFC 12/20] acpi/hvmloader: Link ACPI object files directly



>>> On 06.04.16 at 03:25, <boris.ostrovsky@xxxxxxxxxx> wrote:
> ACPI sources will be available to various component which will build
> them according to their own rules. ACPI directory will only build
> sources.

"build sources" is kind of contradictory. How about "build intermediate
files"?

> --- a/tools/firmware/hvmloader/Makefile
> +++ b/tools/firmware/hvmloader/Makefile
> @@ -20,8 +20,6 @@
>  XEN_ROOT = $(CURDIR)/../../..
>  include $(XEN_ROOT)/tools/firmware/Rules.mk
>  
> -SUBDIRS := acpi
> -
>  # The HVM loader is started in 32-bit mode at the address below:
>  LOADADDR = 0x100000
>  
> @@ -33,10 +31,18 @@ CFLAGS += $(CFLAGS_xeninclude)
>  # We mustn't use tools-only public interfaces.
>  CFLAGS += -D__XEN_INTERFACE_VERSION__=__XEN_LATEST_INTERFACE_VERSION__
>  
> +# ACPI table builder
> +ACPI_PATH = $(XEN_ROOT)/tools/firmware/hvmloader/acpi
> +vpath %.c $(ACPI_PATH)

Please don't - this would preclude having files with the same names
in hvmloader/ and (the future) libacpi/.

> @@ -95,7 +101,11 @@ all: subdirs-all
>  ovmf.o rombios.o seabios.o hvmloader.o: roms.inc
>  smbios.o: CFLAGS += -D__SMBIOS_DATE__="\"$(SMBIOS_REL_DATE)\""
>  
> -hvmloader: $(OBJS) acpi/acpi.a
> +.NOTPARALLEL: $(ACPI_SRC)

And very clearly we will want to avoid the use of .NOTPARALLEL
anywhere in our trees.

> +$(ACPI_SRC):
> +     $(MAKE) -C $(ACPI_PATH)

The more that you can't do this from multiple points in the tree. Did
you consider e.g. symlinking the subtree into the multiple parent
trees?

> --- a/tools/firmware/hvmloader/acpi/Makefile
> +++ b/tools/firmware/hvmloader/acpi/Makefile
> @@ -23,7 +23,7 @@ OBJS  = $(patsubst %.c,%.o,$(C_SRC))
>  CFLAGS += $(CFLAGS_xeninclude)
>  
>  vpath iasl $(PATH)
> -all: acpi.a
> +all: $(C_SRC) ssdt_s3.h ssdt_s4.h ssdt_pm.h ssdt_tpm.h

Why $(C_CRC)? Clearly build.c and static_tables.c don't need
listing here.

> --- a/tools/firmware/rombios/32bit/Makefile
> +++ b/tools/firmware/rombios/32bit/Makefile
> @@ -3,7 +3,7 @@ include $(XEN_ROOT)/tools/firmware/Rules.mk
>  
>  TARGET = 32bitbios_flat.h
>  
> -CFLAGS += $(CFLAGS_xeninclude) -I..
> +CFLAGS += $(CFLAGS_xeninclude) -I.. 
> -I$(XEN_ROOT)/tools/firmware/hvmloader/acpi/

As long as nothing speaks against doing so, I think such references
are better done in a relative manner. That way moving the entire
build tree won't affect the command lines passed to build tools.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.