diff options
Diffstat (limited to 'scripts/Makefile.host')
| -rw-r--r-- | scripts/Makefile.host | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/scripts/Makefile.host b/scripts/Makefile.host index 2e628508d..7b380460a 100644 --- a/scripts/Makefile.host +++ b/scripts/Makefile.host | |||
| @@ -92,13 +92,32 @@ endif | |||
| 92 | hostc_flags = -Wp,-MD,$(depfile) $(__hostc_flags) | 92 | hostc_flags = -Wp,-MD,$(depfile) $(__hostc_flags) |
| 93 | hostcxx_flags = -Wp,-MD,$(depfile) $(__hostcxx_flags) | 93 | hostcxx_flags = -Wp,-MD,$(depfile) $(__hostcxx_flags) |
| 94 | 94 | ||
| 95 | # Programs built for use on the host are defined without a suffix | ||
| 96 | # (usually '.exe' on Windows). Rather than adjust all the makefiles | ||
| 97 | # force a suffix of '.' if the host platform is mingw32. This will | ||
| 98 | # result in binaries with no suffix. | ||
| 99 | # | ||
| 100 | # It's not a big deal if this doesn't work. MSYS2 doesn't need it | ||
| 101 | # and the downside is just that the programs will be rebuilt more | ||
| 102 | # often than really needed. | ||
| 103 | # | ||
| 104 | host_target := $(shell $(HOSTCC) -v 2>&1 | grep ^Target:) | ||
| 105 | host_platform := $(word 4,$(subst -, ,$(host_target))) | ||
| 106 | dot := | ||
| 107 | ifeq ($(host_platform),mingw32) | ||
| 108 | dot := . | ||
| 109 | endif | ||
| 110 | ifeq ($(host_platform),windows) | ||
| 111 | dot := . | ||
| 112 | endif | ||
| 113 | |||
| 95 | ##### | 114 | ##### |
| 96 | # Compile programs on the host | 115 | # Compile programs on the host |
| 97 | 116 | ||
| 98 | # Create executable from a single .c file | 117 | # Create executable from a single .c file |
| 99 | # host-csingle -> Executable | 118 | # host-csingle -> Executable |
| 100 | quiet_cmd_host-csingle = HOSTCC $@ | 119 | quiet_cmd_host-csingle = HOSTCC $@ |
| 101 | cmd_host-csingle = $(HOSTCC) $(hostc_flags) -o $@ $< \ | 120 | cmd_host-csingle = $(HOSTCC) $(hostc_flags) -o $@$(dot) $< \ |
| 102 | $(HOST_LOADLIBES) $(HOSTLOADLIBES_$(@F)) | 121 | $(HOST_LOADLIBES) $(HOSTLOADLIBES_$(@F)) |
| 103 | $(host-csingle): %: %.c FORCE | 122 | $(host-csingle): %: %.c FORCE |
| 104 | $(call if_changed_dep,host-csingle) | 123 | $(call if_changed_dep,host-csingle) |
| @@ -106,7 +125,7 @@ $(host-csingle): %: %.c FORCE | |||
| 106 | # Link an executable based on list of .o files, all plain c | 125 | # Link an executable based on list of .o files, all plain c |
| 107 | # host-cmulti -> executable | 126 | # host-cmulti -> executable |
| 108 | quiet_cmd_host-cmulti = HOSTLD $@ | 127 | quiet_cmd_host-cmulti = HOSTLD $@ |
| 109 | cmd_host-cmulti = $(HOSTCC) $(HOSTLDFLAGS) -o $@ \ | 128 | cmd_host-cmulti = $(HOSTCC) $(HOSTLDFLAGS) -o $@$(dot) \ |
| 110 | $(addprefix $(obj)/,$($(@F)-objs)) \ | 129 | $(addprefix $(obj)/,$($(@F)-objs)) \ |
| 111 | $(HOST_LOADLIBES) $(HOSTLOADLIBES_$(@F)) | 130 | $(HOST_LOADLIBES) $(HOSTLOADLIBES_$(@F)) |
| 112 | $(host-cmulti): %: $(host-cobjs) $(host-cshlib) FORCE | 131 | $(host-cmulti): %: $(host-cobjs) $(host-cshlib) FORCE |
