# # 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