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