Serenity Operating System
1AK_OBJS = \
2 ../../AK/StringImpl.o \
3 ../../AK/String.o \
4 ../../AK/StringView.o \
5 ../../AK/StringBuilder.o \
6 ../../AK/FileSystemPath.o \
7 ../../AK/URL.o \
8 ../../AK/JsonValue.o \
9 ../../AK/JsonParser.o \
10 ../../AK/LogStream.o \
11 ../../AK/MappedFile.o \
12 ../../AK/SharedBuffer.o \
13 ../../AK/Utf8View.o
14
15LIBC_OBJS = \
16 stdio.o \
17 unistd.o \
18 string.o \
19 strings.o \
20 mman.o \
21 dirent.o \
22 malloc.o \
23 stdlib.o \
24 time.o \
25 utsname.o \
26 assert.o \
27 signal.o \
28 getopt.o \
29 scanf.o \
30 pwd.o \
31 grp.o \
32 times.o \
33 termcap.o \
34 stat.o \
35 mntent.o \
36 ctype.o \
37 fcntl.o \
38 termios.o \
39 ulimit.o \
40 qsort.o \
41 ioctl.o \
42 utime.o \
43 sys/select.o \
44 sys/socket.o \
45 sys/wait.o \
46 sys/uio.o \
47 poll.o \
48 locale.o \
49 arpa/inet.o \
50 netdb.o \
51 sched.o \
52 dlfcn.o \
53 libgen.o \
54 wchar.o \
55 serenity.o \
56 syslog.o \
57 cxxabi.o \
58 libcinit.o
59
60ELF_OBJS = \
61 ../LibELF/ELFDynamicObject.o \
62 ../LibELF/ELFDynamicLoader.o \
63 ../LibELF/ELFLoader.o \
64 ../LibELF/ELFImage.o
65
66OBJS = $(AK_OBJS) $(LIBC_OBJS) $(ELF_OBJS)
67
68EXTRA_OBJS = \
69 setjmp.ao \
70 crti.ao \
71 crtn.ao \
72 ../LibELF/Arch/i386/plt_trampoline.ao
73
74crt0.o: crt0.cpp
75
76crtio.o: crti.ao
77 $(QUIET) cp crti.ao crti.o
78
79crtn.o: crtin.ao
80 $(QUIET) cp crtn.ao crtn.o
81
82EXTRA_CLEAN = crt0.d crt0.o
83
84DEFINES = -DSERENITY_LIBC_BUILD $(EXTRA_LIBC_DEFINES)
85
86LIBRARY = libc.a
87
88POST_LIBRARY_BUILD = $(QUIET) $(MAKE) install
89
90all: crt0.o $(EXTRA_OBJS) $(LIBRARY)
91
92install:
93 mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/sys/
94 mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/bits/
95 mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/netinet/
96 mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/net/
97 mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/arpa/
98 mkdir -p $(SERENITY_BASE_DIR)/Root/usr/lib/
99 cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/
100 cp sys/*.h $(SERENITY_BASE_DIR)/Root/usr/include/sys/
101 cp bits/*.h $(SERENITY_BASE_DIR)/Root/usr/include/bits/
102 cp arpa/*.h $(SERENITY_BASE_DIR)/Root/usr/include/arpa/
103 cp net/*.h $(SERENITY_BASE_DIR)/Root/usr/include/net/
104 cp netinet/*.h $(SERENITY_BASE_DIR)/Root/usr/include/netinet/
105 cp libc.a $(SERENITY_BASE_DIR)/Root/usr/lib/
106 cp crt0.o $(SERENITY_BASE_DIR)/Root/usr/lib/
107 cp crti.ao $(SERENITY_BASE_DIR)/Root/usr/lib/crti.o
108 cp crtn.ao $(SERENITY_BASE_DIR)/Root/usr/lib/crtn.o
109
110include ../../Makefile.common