blob: 4ff9af7138ab6d7d4ccdaf3a114587cd05885309 [file] [log] [blame]
#
# 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
# Listing of all .o files
always := klib.list
#####
# Generate socket calls stubs
# Based on input from SOCKETCALLS.def generate socket call stubs
targets := klib.list
targets += socketcalls.mk
targets += SOCKETCALLS.i
targets += $(socketcall-objs)
clean-files += *.S *.c *.o *.list
EXTRA_KLIBCCFLAGS := -I$(srctree)/$(src)
quiet_cmd_makelist = LIST $@
cmd_makelist = echo '$(filter-out FORCE,$^)' > $@
# Create list of all files
$(obj)/klib.list: $(call objectify,$(socketcall-objs)) FORCE
$(call if_changed,makelist)
# Generate assembler file (.i)
# We pass -ansi to keep cpp from define e.g. "i386" as well as "__i386__"
quiet_cmd_socketcall.i = GEN $@
cmd_socketcall.i = $(KLIBCCC) $(klibccflags) -D__ASSEMBLY__ \
-ansi -x c -E -o $@ $<
$(obj)/SOCKETCALLS.i: $(KLIBCSRC)/SOCKETCALLS.def FORCE
$(call if_changed_dep,socketcall.i)
# Generate socketcall stubs
quiet_cmd_socketcalls = GEN $@
cmd_socketcalls = $(PERL) $(srctree)/$(KLIBCSRC)/socketcalls.pl \
$(obj)/SOCKETCALLS.i \
$(KLIBCARCH) $(obj) > $@ \
|| ( rm -f $@ ; exit 1 )
$(obj)/socketcalls.mk: $(srctree)/$(KLIBCSRC)/socketcalls.pl \
$(obj)/SOCKETCALLS.i \
$(src)/socketcommon.h
$(call cmd,socketcalls)
PHONY += FORCE