#
# Generate socket calls based on SOCKETCALLS.def
#

# Include automatically generated Makefile fragment.
# It contains definition of socketcall-objs specifying name of all .o files
ifeq ($(clean),)
-include $(obj)/socketcalls.mk
endif

# Composite object containing all .o file
always := socketcalls.o

#####
# Generate socket calls stubs
# Based on input from SOCKETCALLS.def generate socket call stubs
targets     := socketcalls.o
targets     += socketcalls.mk
targets     += $(socketcall-objs)
clean-files += *.S *.c *.o

# Create reloctable composite object file
$(obj)/socketcalls.o: $(call objectify,$(socketcall-objs)) FORCE
	$(call if_changed,klibcld)

quiet_cmd_socketcalls = GEN     $@
      cmd_socketcalls = $(PERL) $(KLIBCSRC)/socketcalls.pl          \
                                $(KLIBCSRC)/SOCKETCALLS.def         \
                                $(KLIBCARCH) $(obj) > $@ || rm -f $@

# Generate socketcall stubs
$(obj)/socketcalls.mk: $(KLIBCSRC)/socketcalls.pl                   \
                       $(KLIBCSRC)/SOCKETCALLS.def                  \
                       $(src)/socketcommon.h
	$(call cmd,socketcalls)
