diff options
Diffstat (limited to 'scripts/Makefile.host')
| -rw-r--r-- | scripts/Makefile.host | 39 | 
1 files changed, 28 insertions, 11 deletions
diff --git a/scripts/Makefile.host b/scripts/Makefile.host index 2208ebbd8c4c..4c51c95d40f4 100644 --- a/scripts/Makefile.host +++ b/scripts/Makefile.host @@ -1,4 +1,21 @@  # SPDX-License-Identifier: GPL-2.0 + +# LEX +# --------------------------------------------------------------------------- +quiet_cmd_flex = LEX     $@ +      cmd_flex = $(LEX) -o$@ -L $< + +$(obj)/%.lex.c: $(src)/%.l FORCE +	$(call if_changed,flex) + +# YACC +# --------------------------------------------------------------------------- +quiet_cmd_bison = YACC    $(basename $@).[ch] +      cmd_bison = $(YACC) -o $(basename $@).c --defines=$(basename $@).h -t -l $< + +$(obj)/%.tab.c $(obj)/%.tab.h: $(src)/%.y FORCE +	$(call if_changed,bison) +  # ==========================================================================  # Building binaries on the host system  # Binaries are used during the compilation of the kernel, for example @@ -63,9 +80,9 @@ host-cxxshobjs	:= $(addprefix $(obj)/,$(host-cxxshobjs))  # Handle options to gcc. Support building with separate output directory  _hostc_flags   = $(KBUILD_HOSTCFLAGS)   $(HOST_EXTRACFLAGS)   \ -                 $(HOSTCFLAGS_$(basetarget).o) +                 $(HOSTCFLAGS_$(target-stem).o)  _hostcxx_flags = $(KBUILD_HOSTCXXFLAGS) $(HOST_EXTRACXXFLAGS) \ -                 $(HOSTCXXFLAGS_$(basetarget).o) +                 $(HOSTCXXFLAGS_$(target-stem).o)  # $(objtree)/$(obj) for including generated headers from checkin source files  ifeq ($(KBUILD_EXTMOD),) @@ -85,7 +102,7 @@ hostcxx_flags  = -Wp,-MD,$(depfile) $(_hostcxx_flags)  # host-csingle -> Executable  quiet_cmd_host-csingle 	= HOSTCC  $@        cmd_host-csingle	= $(HOSTCC) $(hostc_flags) $(KBUILD_HOSTLDFLAGS) -o $@ $< \ -		$(KBUILD_HOSTLDLIBS) $(HOSTLDLIBS_$(@F)) +		$(KBUILD_HOSTLDLIBS) $(HOSTLDLIBS_$(target-stem))  $(host-csingle): $(obj)/%: $(src)/%.c FORCE  	$(call if_changed_dep,host-csingle) @@ -93,8 +110,8 @@ $(host-csingle): $(obj)/%: $(src)/%.c FORCE  # host-cmulti -> executable  quiet_cmd_host-cmulti	= HOSTLD  $@        cmd_host-cmulti	= $(HOSTCC) $(KBUILD_HOSTLDFLAGS) -o $@ \ -			  $(addprefix $(obj)/,$($(@F)-objs)) \ -			  $(KBUILD_HOSTLDLIBS) $(HOSTLDLIBS_$(@F)) +			  $(addprefix $(obj)/, $($(target-stem)-objs)) \ +			  $(KBUILD_HOSTLDLIBS) $(HOSTLDLIBS_$(target-stem))  $(host-cmulti): FORCE  	$(call if_changed,host-cmulti)  $(call multi_depend, $(host-cmulti), , -objs) @@ -111,8 +128,8 @@ $(host-cobjs): $(obj)/%.o: $(src)/%.c FORCE  quiet_cmd_host-cxxmulti	= HOSTLD  $@        cmd_host-cxxmulti	= $(HOSTCXX) $(KBUILD_HOSTLDFLAGS) -o $@ \  			  $(foreach o,objs cxxobjs,\ -			  $(addprefix $(obj)/,$($(@F)-$(o)))) \ -			  $(KBUILD_HOSTLDLIBS) $(HOSTLDLIBS_$(@F)) +			  $(addprefix $(obj)/, $($(target-stem)-$(o)))) \ +			  $(KBUILD_HOSTLDLIBS) $(HOSTLDLIBS_$(target-stem))  $(host-cxxmulti): FORCE  	$(call if_changed,host-cxxmulti)  $(call multi_depend, $(host-cxxmulti), , -objs -cxxobjs) @@ -144,8 +161,8 @@ $(host-cxxshobjs): $(obj)/%.o: $(src)/%.c FORCE  # *.o -> .so shared library (host-cshlib)  quiet_cmd_host-cshlib	= HOSTLLD -shared $@        cmd_host-cshlib	= $(HOSTCC) $(KBUILD_HOSTLDFLAGS) -shared -o $@ \ -			  $(addprefix $(obj)/,$($(@F:.so=-objs))) \ -			  $(KBUILD_HOSTLDLIBS) $(HOSTLDLIBS_$(@F)) +			  $(addprefix $(obj)/, $($(target-stem)-objs)) \ +			  $(KBUILD_HOSTLDLIBS) $(HOSTLDLIBS_$(target-stem).so)  $(host-cshlib): FORCE  	$(call if_changed,host-cshlib)  $(call multi_depend, $(host-cshlib), .so, -objs) @@ -154,8 +171,8 @@ $(call multi_depend, $(host-cshlib), .so, -objs)  # *.o -> .so shared library (host-cxxshlib)  quiet_cmd_host-cxxshlib	= HOSTLLD -shared $@        cmd_host-cxxshlib	= $(HOSTCXX) $(KBUILD_HOSTLDFLAGS) -shared -o $@ \ -			  $(addprefix $(obj)/,$($(@F:.so=-objs))) \ -			  $(KBUILD_HOSTLDLIBS) $(HOSTLDLIBS_$(@F)) +			  $(addprefix $(obj)/, $($(target-stem)-objs)) \ +			  $(KBUILD_HOSTLDLIBS) $(HOSTLDLIBS_$(target-stem).so)  $(host-cxxshlib): FORCE  	$(call if_changed,host-cxxshlib)  $(call multi_depend, $(host-cxxshlib), .so, -objs)  | 

