Serenity Operating System
at portability 110 lines 2.6 kB view raw
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