Merge branch 'master' into chaindev
[syslinux.git] / com32 / lib / Makefile
blobb9ff82217af4630b42958e56cf14b1ecd76d621a
2 # ONLY INCLUDE MIT OR 2/3-BSD-LICENSED CODE IN THIS LIBRARY
5 # Include configuration rules
6 NOGPL := 1
7 topdir = ../../
8 MAKEDIR = $(topdir)/mk
9 include $(MAKEDIR)/lib.mk
11 LIBOBJS = \
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 \
36 lmalloc.o lstrdup.o \
38 dprintf.o vdprintf.o \
40 suffix_number.o \
42 sys/readdir.o getcwd.o chdir.o fdopendir.o \
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 \
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 \
56 sys/zfile.o sys/zfopen.o \
58 sys/openconsole.o sys/line_input.o \
59 sys/colortable.o sys/screensize.o \
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 \
65 sys/xserial_write.o \
67 sys/ansi.o \
69 sys/libansi.o \
71 sys/gpxe.o \
73 sys/ansicon_write.o sys/ansiserial_write.o \
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 \
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 \
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 \
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 \
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 \
99 sys/x86_init_fpu.o math/pow.o math/strtod.o \
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 \
106 syslinux/memscan.o \
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 \
113 syslinux/run_default.o syslinux/run_command.o \
114 syslinux/cleanup.o syslinux/localboot.o syslinux/runimage.o \
116 syslinux/loadfile.o syslinux/floadfile.o syslinux/zloadfile.o \
118 syslinux/load_linux.o syslinux/initramfs.o \
119 syslinux/initramfs_file.o syslinux/initramfs_loadfile.o \
120 syslinux/initramfs_archive.o \
122 syslinux/pxe_get_cached.o syslinux/pxe_get_nic.o \
123 syslinux/pxe_dns.o \
125 syslinux/adv.o syslinux/advwrite.o syslinux/getadv.o \
126 syslinux/setadv.o \
128 syslinux/video/fontquery.o syslinux/video/forcetext.o \
129 syslinux/video/reportmode.o \
131 syslinux/disk.o
133 # These are the objects which are also imported into the core
134 LIBCOREOBJS = \
135 memcpy.o mempcpy.o memset.o memcmp.o memmove.o \
136 strlen.o stpcpy.o strcpy.o strcmp.o strlcpy.o strlcat.o \
137 strchr.o strncmp.o strncpy.o \
139 snprintf.o sprintf.o vsnprintf.o \
141 dprintf.o vdprintf.o \
143 zalloc.o strdup.o \
145 sys/intcall.o sys/farcall.o sys/cfarcall.o sys/zeroregs.o \
147 libgcc/__ashldi3.o libgcc/__udivdi3.o \
148 libgcc/__negdi2.o libgcc/__ashrdi3.o libgcc/__lshrdi3.o \
149 libgcc/__muldi3.o libgcc/__udivmoddi4.o libgcc/__umoddi3.o \
150 libgcc/__divdi3.o libgcc/__moddi3.o
152 BINDIR = /usr/bin
153 LIBDIR = /usr/lib
154 DATADIR = /usr/share
155 AUXDIR = $(DATADIR)/syslinux
156 INCDIR = /usr/include
157 COM32DIR = $(AUXDIR)/com32
159 all: libcom32.a libcomcore.a
161 libcom32.a : $(LIBOBJS)
162 rm -f $@
163 $(AR) cq $@ $^
164 $(RANLIB) $@
166 libcomcore.a : $(LIBCOREOBJS)
167 rm -f $@
168 $(AR) cq $@ $^
169 $(RANLIB) $@
171 tidy dist clean:
172 rm -f sys/vesa/alphatbl.c
173 find . \( -name \*.o -o -name \*.a -o -name .\*.d -o -name \*.tmp \) -print0 | \
174 xargs -0r rm -f
176 spotless: clean
177 rm -f *.a
178 rm -f *~ \#* */*~ */\#*
180 install: all
181 mkdir -m 755 -p $(INSTALLROOT)$(COM32DIR)
182 install -m 644 libcom32.a com32.ld $(INSTALLROOT)$(COM32DIR)
183 -rm -rf $(INSTALLROOT)$(COM32DIR)/include
184 cp -r ../include $(INSTALLROOT)$(COM32DIR)
186 # These files are performance critical, and doesn't compile well with -Os
187 sys/vesa/drawtxt.o: sys/vesa/drawtxt.c
188 $(CC) $(MAKEDEPS) $(CFLAGS) -O3 -c -o $@ $<
190 sys/vesa/alphatbl.c: sys/vesa/alphatbl.pl
191 $(PERL) $< > $@
193 jpeg/jidctflt.o: jpeg/jidctflt.c
194 $(CC) $(MAKEDEPS) $(CFLAGS) -O3 -c -o $@ $<
196 -include .*.d */.*.d */*/.*.d