diff mbox

Makefile: add all-user/all-linux-user/all-softmmu meta-targets

Message ID 20170725061158.10745-1-f4bug@amsat.org
State New
Headers show

Commit Message

Philippe Mathieu-Daudé July 25, 2017, 6:11 a.m. UTC
Useful to build a whole set at once.

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 Makefile | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

Comments

Peter Maydell July 25, 2017, 9:14 a.m. UTC | #1
On 25 July 2017 at 07:11, Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
> Useful to build a whole set at once.

You can already do this by not specifying a --target-list=
option and using whichever of --disable-system and
--disable-user you need to skip the ones you don't want,
can't you?

thanks
-- PMM
Paolo Bonzini July 25, 2017, 9:49 a.m. UTC | #2
On 25/07/2017 08:11, Philippe Mathieu-Daudé wrote:
> Useful to build a whole set at once.
> 
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>  Makefile | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/Makefile b/Makefile
> index 5f18243d05..da899522e4 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -814,6 +814,11 @@ endif
>  # Dependencies in Makefile.objs files come from our recursive subdir rules
>  -include $(wildcard *.d tests/*.d)
>  
> +.PHONY: subdir-all-user subdir-all-linux-user subdir-all-softmmu
> +subdir-all-user: $(patsubst %,subdir-%,$(filter %-user,$(TARGET_DIRS)))
> +subdir-all-linux-user: $(patsubst %,subdir-%,$(filter %-linux-user,$(TARGET_DIRS)))
> +subdir-all-softmmu: $(patsubst %,subdir-%,$(filter %-softmmu,$(TARGET_DIRS)))

I'm not sure why you need subdir-all-linux-user.  I think it's okay to
add these, but please add "romsubdir-all" too.  This way "all" can use
"subdir-all-user subdir-all-softmmu romsubdir-all" and you can remove
"recurse-all".

Paolo

>  include $(SRC_PATH)/tests/docker/Makefile.include
>  
>  .PHONY: help
> @@ -827,7 +832,7 @@ help:
>  	@echo  ''
>  	@$(if $(TARGET_DIRS), \
>  		echo 'Architecture specific targets:'; \
> -		$(foreach t, $(TARGET_DIRS), \
> +		$(foreach t, $(TARGET_DIRS) all-user all-linux-user all-softmmu, \
>  		printf "  %-30s - Build for %s\\n" $(patsubst %,subdir-%,$(t)) $(t);) \
>  		echo '')
>  	@echo  'Cleaning targets:'
>
Philippe Mathieu-Daudé July 25, 2017, 6:39 p.m. UTC | #3
On 07/25/2017 06:49 AM, Paolo Bonzini wrote:
> On 25/07/2017 08:11, Philippe Mathieu-Daudé wrote:
>> Useful to build a whole set at once.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> ---
>>   Makefile | 7 ++++++-
>>   1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/Makefile b/Makefile
>> index 5f18243d05..da899522e4 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -814,6 +814,11 @@ endif
>>   # Dependencies in Makefile.objs files come from our recursive subdir rules
>>   -include $(wildcard *.d tests/*.d)
>>   
>> +.PHONY: subdir-all-user subdir-all-linux-user subdir-all-softmmu
>> +subdir-all-user: $(patsubst %,subdir-%,$(filter %-user,$(TARGET_DIRS)))
>> +subdir-all-linux-user: $(patsubst %,subdir-%,$(filter %-linux-user,$(TARGET_DIRS)))
>> +subdir-all-softmmu: $(patsubst %,subdir-%,$(filter %-softmmu,$(TARGET_DIRS)))
> 
> I'm not sure why you need subdir-all-linux-user.  I think it's okay to

Indeed, subdir-all-user is enough.

> add these, but please add "romsubdir-all" too.  This way "all" can use
> "subdir-all-user subdir-all-softmmu romsubdir-all" and you can remove
> "recurse-all".

Ok.

> 
> Paolo
> 
>>   include $(SRC_PATH)/tests/docker/Makefile.include
>>   
>>   .PHONY: help
>> @@ -827,7 +832,7 @@ help:
>>   	@echo  ''
>>   	@$(if $(TARGET_DIRS), \
>>   		echo 'Architecture specific targets:'; \
>> -		$(foreach t, $(TARGET_DIRS), \
>> +		$(foreach t, $(TARGET_DIRS) all-user all-linux-user all-softmmu, \
>>   		printf "  %-30s - Build for %s\\n" $(patsubst %,subdir-%,$(t)) $(t);) \
>>   		echo '')
>>   	@echo  'Cleaning targets:'
>>
>
diff mbox

Patch

diff --git a/Makefile b/Makefile
index 5f18243d05..da899522e4 100644
--- a/Makefile
+++ b/Makefile
@@ -814,6 +814,11 @@  endif
 # Dependencies in Makefile.objs files come from our recursive subdir rules
 -include $(wildcard *.d tests/*.d)
 
+.PHONY: subdir-all-user subdir-all-linux-user subdir-all-softmmu
+subdir-all-user: $(patsubst %,subdir-%,$(filter %-user,$(TARGET_DIRS)))
+subdir-all-linux-user: $(patsubst %,subdir-%,$(filter %-linux-user,$(TARGET_DIRS)))
+subdir-all-softmmu: $(patsubst %,subdir-%,$(filter %-softmmu,$(TARGET_DIRS)))
+
 include $(SRC_PATH)/tests/docker/Makefile.include
 
 .PHONY: help
@@ -827,7 +832,7 @@  help:
 	@echo  ''
 	@$(if $(TARGET_DIRS), \
 		echo 'Architecture specific targets:'; \
-		$(foreach t, $(TARGET_DIRS), \
+		$(foreach t, $(TARGET_DIRS) all-user all-linux-user all-softmmu, \
 		printf "  %-30s - Build for %s\\n" $(patsubst %,subdir-%,$(t)) $(t);) \
 		echo '')
 	@echo  'Cleaning targets:'