Annotation of /trunk/mkinitrd-magellan/klibc/usr/klibc/syscalls/Kbuild
Parent Directory | Revision Log
Revision 1297 -
(hide annotations)
(download)
Fri May 27 15:12:11 2011 UTC (12 years, 11 months ago) by niro
File size: 3943 byte(s)
Fri May 27 15:12:11 2011 UTC (12 years, 11 months ago) by niro
File size: 3943 byte(s)
-updated to klibc-1.5.22 with mntproc definitions patch included
1 | niro | 532 | # |
2 | # kbuild file for generating syscall stubs | ||
3 | # | ||
4 | |||
5 | # Include automatically generated Makefile fragment. | ||
6 | # It contains definition of syscall-objs specifying name of all .o files | ||
7 | ifeq ($(clean),) | ||
8 | -include $(obj)/syscalls.mk | ||
9 | endif | ||
10 | |||
11 | # Listing of all .o files | ||
12 | always := klib.list | ||
13 | |||
14 | |||
15 | ##### | ||
16 | # Generate syscalls stubs | ||
17 | # Based on list in SYSCALLS.def generate stubs for sys calls. Actual arch code | ||
18 | # is defined in an arch specific perl file | ||
19 | targets += syscalls.mk | ||
20 | targets += klib.list | ||
21 | targets += SYSCALLS.i syscalls.nrs | ||
22 | targets += typesize.c typesize.o typesize.bin | ||
23 | targets += $(syscall-objs) | ||
24 | |||
25 | # Side effect of running syscalls.pl | ||
26 | clean-files += $(objtree)/$(KLIBCINC)/klibc/havesyscall.h | ||
27 | clean-files += $(KLIBCINC)/klibc/havesyscall.h | ||
28 | # All the syscall stubs | ||
29 | clean-files += *.o *.S *.c *.list *.bin | ||
30 | |||
31 | EXTRA_KLIBCCFLAGS := -I$(srctree)/$(src) | ||
32 | |||
33 | quiet_cmd_makelist = LIST $@ | ||
34 | cmd_makelist = echo '$(filter-out FORCE,$^)' > $@ | ||
35 | |||
36 | # Create list of all files | ||
37 | $(obj)/klib.list: $(call objectify,$(syscall-objs)) FORCE | ||
38 | $(call if_changed,makelist) | ||
39 | |||
40 | # Generate assembler file (.i) | ||
41 | # We pass -ansi to keep cpp from define e.g. "i386" as well as "__i386__" | ||
42 | quiet_cmd_syscall.i = GEN $@ | ||
43 | cmd_syscall.i = $(KLIBCCC) $(klibccflags) -D__ASSEMBLY__ \ | ||
44 | -ansi -x c -E -o $@ $< | ||
45 | $(obj)/SYSCALLS.i: $(KLIBCSRC)/SYSCALLS.def FORCE | ||
46 | $(call if_changed_dep,syscall.i) | ||
47 | |||
48 | # Get syscalls numbers | ||
49 | quiet_cmd_syscall.nrs = GEN $@ | ||
50 | cmd_syscall.nrs = $(KLIBCCC) $(klibccflags) -Wp,-dM -x c -E -o $@ $< | ||
51 | $(obj)/syscalls.nrs: $(KLIBCINC)/sys/syscall.h FORCE | ||
52 | $(call if_changed_dep,syscall.nrs) | ||
53 | |||
54 | # Generate typesize.c | ||
55 | quiet_cmd_syscalsz = GEN $@ | ||
56 | niro | 1122 | cmd_syscalsz = \ |
57 | mkdir -p $(KLIBCINC)/klibc/; \ | ||
58 | $(PERL) $(srctree)/$(KLIBCSRC)/syscalls.pl \ | ||
59 | -1 $(obj)/SYSCALLS.i \ | ||
60 | $(srctree)/$(KLIBCSRC)/arch/$(KLIBCARCHDIR)/sysstub.ph \ | ||
61 | $(KLIBCARCH) $(KLIBCBITSIZE) $(obj)/syscalls.nrs \ | ||
62 | $(obj) \ | ||
63 | $(KLIBCINC)/klibc/havesyscall.h \ | ||
64 | $(obj)/typesize.c > $@ \ | ||
65 | || ( rm -f $@ ; exit 1 ) | ||
66 | niro | 532 | |
67 | niro | 1122 | $(obj)/typesize.c: $(srctree)/$(KLIBCSRC)/syscalls.pl $(obj)/SYSCALLS.i \ |
68 | $(srctree)/$(KLIBCSRC)/arch/$(KLIBCARCHDIR)/sysstub.ph \ | ||
69 | $(src)/syscommon.h $(obj)/syscalls.nrs FORCE | ||
70 | niro | 532 | $(call if_changed,syscalsz) |
71 | |||
72 | # Convert typesize.o to typesize.bin | ||
73 | quiet_cmd_mkbin = OBJCOPY $@ | ||
74 | cmd_mkbin = $(KLIBCOBJCOPY) -O binary $< $@ | ||
75 | |||
76 | $(obj)/typesize.bin: $(obj)/typesize.o FORCE | ||
77 | $(call if_changed,mkbin) | ||
78 | |||
79 | # Generate $(KLIBINC)/klibc/havesyscall.h + makefile fragment | ||
80 | # Using sysstub.pl in arch dir generate all .S files | ||
81 | quiet_cmd_syscalls = GEN $@ | ||
82 | niro | 1122 | cmd_syscalls = \ |
83 | mkdir -p $(KLIBCINC)/klibc/; \ | ||
84 | $(PERL) $(srctree)/$(KLIBCSRC)/syscalls.pl -2 $(obj)/SYSCALLS.i \ | ||
85 | $(srctree)/$(KLIBCSRC)/arch/$(KLIBCARCHDIR)/sysstub.ph \ | ||
86 | $(KLIBCARCH) $(KLIBCBITSIZE) $(obj)/syscalls.nrs \ | ||
87 | $(obj) \ | ||
88 | $(KLIBCINC)/klibc/havesyscall.h \ | ||
89 | $(obj)/typesize.bin > $@ \ | ||
90 | || ( rm -f $@ ; exit 1 ) | ||
91 | niro | 532 | |
92 | niro | 1122 | $(obj)/syscalls.mk: $(srctree)/$(KLIBCSRC)/syscalls.pl $(obj)/SYSCALLS.i \ |
93 | $(srctree)/$(KLIBCSRC)/arch/$(KLIBCARCHDIR)/sysstub.ph \ | ||
94 | $(call objectify, $(syscall-objs:.o=.S)) \ | ||
95 | $(src)/syscommon.h $(obj)/syscalls.nrs \ | ||
96 | $(obj)/typesize.bin FORCE | ||
97 | niro | 532 | $(call if_changed,syscalls) |
98 | niro | 1297 | |
99 | PHONY += FORCE |