1# 2# ONLY INCLUDE MIT OR 2/3-BSD-LICENSED CODE IN THIS LIBRARY 3# 4 5# Include configuration rules 6NOGPL := 1 7topdir = ../../ 8MAKEDIR = $(topdir)/mk 9include $(MAKEDIR)/lib.mk 10 11LIBOBJS = \ 12 abort.o atexit.o atoi.o atol.o atoll.o calloc.o creat.o \ 13 ctypes.o errno.o fgetc.o fgets.o fopen.o fprintf.o fputc.o \ 14 fclose.o putchar.o setjmp.o \ 15 fputs.o fread2.o fread.o free.o fwrite2.o fwrite.o \ 16 getopt.o getopt_long.o \ 17 lrand48.o malloc.o stack.o memccpy.o memchr.o memcmp.o \ 18 memcpy.o mempcpy.o memmem.o memmove.o memset.o memswap.o \ 19 exit.o onexit.o \ 20 perror.o printf.o puts.o qsort.o realloc.o seed48.o snprintf.o \ 21 sprintf.o srand48.o sscanf.o stack.o strcasecmp.o strcat.o \ 22 strchr.o strcmp.o strcpy.o strdup.o strlen.o \ 23 strerror.o strnlen.o \ 24 strncasecmp.o strncat.o strncmp.o strncpy.o strndup.o \ 25 stpcpy.o stpncpy.o \ 26 strntoimax.o strntoumax.o strrchr.o strsep.o strspn.o strstr.o \ 27 strtoimax.o strtok.o strtol.o strtoll.o strtoul.o strtoull.o \ 28 strtoumax.o vfprintf.o vprintf.o vsnprintf.o vsprintf.o \ 29 asprintf.o vasprintf.o strlcpy.o strlcat.o \ 30 vsscanf.o zalloc.o \ 31 skipspace.o \ 32 chrreplace.o \ 33 bufprintf.o \ 34 inet.o \ 35 \ 36 lmalloc.o lstrdup.o \ 37 \ 38 dprintf.o vdprintf.o \ 39 \ 40 suffix_number.o \ 41 \ 42 sys/readdir.o getcwd.o chdir.o fdopendir.o \ 43 \ 44 libgcc/__ashldi3.o libgcc/__udivdi3.o \ 45 libgcc/__negdi2.o libgcc/__ashrdi3.o libgcc/__lshrdi3.o \ 46 libgcc/__muldi3.o libgcc/__udivmoddi4.o libgcc/__umoddi3.o \ 47 libgcc/__divdi3.o libgcc/__moddi3.o \ 48 \ 49 sys/intcall.o sys/farcall.o sys/cfarcall.o sys/zeroregs.o \ 50 sys/entry.o sys/exit.o sys/argv.o sys/times.o sys/sleep.o \ 51 sys/fileinfo.o sys/opendev.o sys/read.o sys/write.o sys/ftell.o \ 52 sys/close.o sys/open.o sys/fileread.o sys/fileclose.o \ 53 sys/openmem.o \ 54 sys/isatty.o sys/fstat.o \ 55 \ 56 sys/zfile.o sys/zfopen.o \ 57 \ 58 sys/openconsole.o sys/line_input.o \ 59 sys/colortable.o sys/screensize.o \ 60 \ 61 sys/stdcon_read.o sys/stdcon_write.o sys/rawcon_read.o \ 62 sys/rawcon_write.o sys/err_read.o sys/err_write.o \ 63 sys/null_read.o sys/null_write.o sys/serial_write.o \ 64 \ 65 sys/xserial_write.o \ 66 \ 67 sys/ansi.o \ 68 \ 69 sys/libansi.o \ 70 \ 71 sys/gpxe.o \ 72 \ 73 sys/ansicon_write.o sys/ansiserial_write.o \ 74 \ 75 sys/vesacon_write.o sys/vesaserial_write.o \ 76 sys/vesa/initvesa.o sys/vesa/drawtxt.o sys/vesa/background.o \ 77 sys/vesa/alphatbl.o sys/vesa/screencpy.o sys/vesa/fmtpixel.o \ 78 sys/vesa/i915resolution.o \ 79 \ 80 pci/cfgtype.o pci/scan.o pci/bios.o \ 81 pci/readb.o pci/readw.o pci/readl.o \ 82 pci/writeb.o pci/writew.o pci/writel.o \ 83 \ 84 zlib/adler32.o zlib/compress.o zlib/crc32.o \ 85 zlib/uncompr.o zlib/deflate.o zlib/trees.o zlib/zutil.o \ 86 zlib/inflate.o zlib/infback.o zlib/inftrees.o zlib/inffast.o \ 87 \ 88 libpng/png.o libpng/pngset.o libpng/pngget.o libpng/pngrutil.o \ 89 libpng/pngtrans.o libpng/pngwutil.o libpng/pngread.o \ 90 libpng/pngrio.o libpng/pngwio.o libpng/pngwrite.o \ 91 libpng/pngrtran.o libpng/pngwtran.o libpng/pngmem.o \ 92 libpng/pngerror.o libpng/pngpread.o \ 93 \ 94 jpeg/tinyjpeg.o jpeg/jidctflt.o jpeg/decode1.o jpeg/decode3.o \ 95 jpeg/grey.o jpeg/yuv420p.o \ 96 jpeg/rgb24.o jpeg/bgr24.o \ 97 jpeg/rgba32.o jpeg/bgra32.o \ 98 \ 99 sys/x86_init_fpu.o math/pow.o math/strtod.o \ 100 \ 101 syslinux/idle.o syslinux/reboot.o \ 102 syslinux/features.o syslinux/config.o syslinux/serial.o \ 103 syslinux/ipappend.o syslinux/dsinfo.o syslinux/version.o \ 104 syslinux/keyboard.o \ 105 \ 106 syslinux/memscan.o \ 107 \ 108 syslinux/addlist.o syslinux/freelist.o syslinux/memmap.o \ 109 syslinux/movebits.o syslinux/shuffle.o syslinux/shuffle_pm.o \ 110 syslinux/shuffle_rm.o syslinux/zonelist.o \ 111 syslinux/dump_mmap.o syslinux/dump_movelist.o \ 112 \ 113 syslinux/run_default.o syslinux/run_command.o \ 114 syslinux/cleanup.o syslinux/localboot.o syslinux/runimage.o \ 115 \ 116 syslinux/loadfile.o syslinux/floadfile.o syslinux/zloadfile.o \ 117 \ 118 syslinux/load_linux.o syslinux/initramfs.o \ 119 syslinux/initramfs_file.o syslinux/initramfs_loadfile.o \ 120 syslinux/initramfs_archive.o \ 121 \ 122 syslinux/pxe_get_cached.o syslinux/pxe_get_nic.o \ 123 syslinux/pxe_dns.o \ 124 \ 125 syslinux/adv.o syslinux/advwrite.o syslinux/getadv.o \ 126 syslinux/setadv.o \ 127 \ 128 syslinux/video/fontquery.o syslinux/video/forcetext.o \ 129 syslinux/video/reportmode.o 130 131# These are the objects which are also imported into the core 132LIBCOREOBJS = \ 133 memcpy.o mempcpy.o memset.o memcmp.o memmove.o \ 134 strlen.o stpcpy.o strcpy.o strcmp.o strlcpy.o strlcat.o \ 135 strchr.o strncmp.o strncpy.o \ 136 \ 137 snprintf.o sprintf.o vsnprintf.o \ 138 \ 139 dprintf.o vdprintf.o \ 140 \ 141 zalloc.o strdup.o \ 142 \ 143 sys/intcall.o sys/farcall.o sys/cfarcall.o sys/zeroregs.o \ 144 \ 145 libgcc/__ashldi3.o libgcc/__udivdi3.o \ 146 libgcc/__negdi2.o libgcc/__ashrdi3.o libgcc/__lshrdi3.o \ 147 libgcc/__muldi3.o libgcc/__udivmoddi4.o libgcc/__umoddi3.o \ 148 libgcc/__divdi3.o libgcc/__moddi3.o 149 150BINDIR = /usr/bin 151LIBDIR = /usr/lib 152DATADIR = /usr/share 153AUXDIR = $(DATADIR)/syslinux 154INCDIR = /usr/include 155COM32DIR = $(AUXDIR)/com32 156 157all: libcom32.a libcomcore.a 158 159libcom32.a : $(LIBOBJS) 160 rm -f $@ 161 $(AR) cq $@ $^ 162 $(RANLIB) $@ 163 164libcomcore.a : $(LIBCOREOBJS) 165 rm -f $@ 166 $(AR) cq $@ $^ 167 $(RANLIB) $@ 168 169tidy dist clean: 170 rm -f sys/vesa/alphatbl.c 171 find . \( -name \*.o -o -name \*.a -o -name .\*.d -o -name \*.tmp \) -print0 | \ 172 xargs -0r rm -f 173 174spotless: clean 175 rm -f *.a 176 rm -f *~ \#* */*~ */\#* 177 178install: all 179 mkdir -m 755 -p $(INSTALLROOT)$(COM32DIR) 180 install -m 644 libcom32.a com32.ld $(INSTALLROOT)$(COM32DIR) 181 -rm -rf $(INSTALLROOT)$(COM32DIR)/include 182 cp -r ../include $(INSTALLROOT)$(COM32DIR) 183 184# These files are performance critical, and doesn't compile well with -Os 185sys/vesa/drawtxt.o: sys/vesa/drawtxt.c 186 $(CC) $(MAKEDEPS) $(CFLAGS) -O3 -c -o $@ $< 187 188sys/vesa/alphatbl.c: sys/vesa/alphatbl.pl 189 $(PERL) $< > $@ 190 191jpeg/jidctflt.o: jpeg/jidctflt.c 192 $(CC) $(MAKEDEPS) $(CFLAGS) -O3 -c -o $@ $< 193 194-include .*.d */.*.d */*/.*.d 195

