Centralize configurables; better "make install" etc
[profile/ivi/syslinux.git] / com32 / lib / Makefile
1 # Include configuration rules
2 include MCONFIG
3
4 LIBOBJS = \
5         abort.o atexit.o atoi.o atol.o atoll.o calloc.o creat.o         \
6         ctypes.o errno.o fgetc.o fgets.o fopen.o fprintf.o fputc.o      \
7         fclose.o putchar.o setjmp.o                                     \
8         fputs.o fread2.o fread.o free.o fwrite2.o fwrite.o getopt.o     \
9         lrand48.o malloc.o stack.o memccpy.o memchr.o memcmp.o          \
10         memcpy.o mempcpy.o memmem.o memmove.o memset.o memswap.o        \
11         exit.o onexit.o \
12         perror.o printf.o puts.o qsort.o realloc.o seed48.o snprintf.o  \
13         sprintf.o srand48.o sscanf.o stack.o strcasecmp.o strcat.o      \
14         strchr.o strcmp.o strcpy.o strdup.o strerror.o strlen.o         \
15         strnlen.o                                                       \
16         strncasecmp.o strncat.o strncmp.o strncpy.o strndup.o           \
17         stpcpy.o stpncpy.o                                              \
18         strntoimax.o strntoumax.o strrchr.o strsep.o strspn.o strstr.o  \
19         strtoimax.o strtok.o strtol.o strtoll.o strtoul.o strtoull.o    \
20         strtoumax.o vfprintf.o vprintf.o vsnprintf.o vsprintf.o         \
21         asprintf.o vasprintf.o strlcpy.o strlcat.o                      \
22         vsscanf.o                                                       \
23         \
24         libgcc/__ashldi3.o libgcc/__udivdi3.o                   \
25         libgcc/__negdi2.o libgcc/__ashrdi3.o libgcc/__lshrdi3.o         \
26         libgcc/__muldi3.o libgcc/__udivmoddi4.o libgcc/__umoddi3.o      \
27         libgcc/__divdi3.o libgcc/__moddi3.o                             \
28         \
29         sys/intcall.o sys/farcall.o sys/cfarcall.o sys/zeroregs.o       \
30         sys/entry.o sys/exit.o sys/argv.o sys/times.o                   \
31         sys/fileinfo.o sys/opendev.o sys/read.o sys/write.o sys/ftell.o \
32         sys/close.o sys/open.o sys/fileread.o sys/fileclose.o           \
33         sys/isatty.o sys/fstat.o                                        \
34         \
35         sys/zfile.o sys/zfopen.o                                        \
36         \
37         sys/openconsole.o sys/line_input.o                              \
38         sys/colortable.o sys/screensize.o                               \
39         \
40         sys/stdcon_read.o sys/stdcon_write.o sys/rawcon_read.o          \
41         sys/rawcon_write.o sys/err_read.o sys/err_write.o               \
42         sys/null_read.o sys/null_write.o sys/serial_write.o             \
43         \
44         sys/xserial_write.o                                             \
45         \
46         sys/ansi.o                                                      \
47         \
48         sys/ansicon_write.o sys/ansiserial_write.o                      \
49         \
50         sys/vesacon_write.o sys/vesaserial_write.o                      \
51         sys/vesa/initvesa.o sys/vesa/drawtxt.o  sys/vesa/background.o   \
52         sys/vesa/alphatbl.o sys/vesa/screencpy.o sys/vesa/fmtpixel.o    \
53         \
54         pci/cfgtype.o pci/scan.o                                        \
55         pci/readb.o pci/readw.o pci/readl.o pci/readbios.o              \
56         pci/writeb.o pci/writew.o pci/writel.o pci/writebios.o          \
57         \
58         zlib/adler32.o zlib/compress.o zlib/crc32.o zlib/gzio.o         \
59         zlib/uncompr.o zlib/deflate.o zlib/trees.o zlib/zutil.o         \
60         zlib/inflate.o zlib/infback.o zlib/inftrees.o zlib/inffast.o    \
61         \
62         libpng/png.o libpng/pngset.o libpng/pngget.o libpng/pngrutil.o  \
63         libpng/pngtrans.o libpng/pngwutil.o libpng/pngread.o            \
64         libpng/pngrio.o libpng/pngwio.o libpng/pngwrite.o               \
65         libpng/pngrtran.o libpng/pngwtran.o libpng/pngmem.o             \
66         libpng/pngerror.o libpng/pngpread.o                             \
67         \
68         jpeg/tinyjpeg.o jpeg/jidctflt.o jpeg/decode1.o jpeg/decode3.o   \
69         jpeg/rgb24.o jpeg/bgr24.o jpeg/yuv420p.o jpeg/grey.o            \
70         jpeg/rgba32.o jpeg/bgra32.o                                     \
71         \
72         sys/x86_init_fpu.o math/pow.o math/strtod.o                     \
73         \
74         syslinux/idle.o syslinux/reboot.o                               \
75         syslinux/features.o syslinux/config.o syslinux/serial.o         \
76         syslinux/ipappend.o syslinux/dsinfo.o syslinux/version.o        \
77         \
78         syslinux/addlist.o syslinux/freelist.o syslinux/memmap.o        \
79         syslinux/movebits.o syslinux/shuffle.o syslinux/shuffle_pm.o    \
80         syslinux/shuffle_rm.o syslinux/zonelist.o                       \
81         syslinux/dump_mmap.o syslinux/dump_movelist.o                   \
82         \
83         syslinux/run_default.o syslinux/run_command.o                   \
84         syslinux/cleanup.o syslinux/localboot.o syslinux/runimage.o     \
85         \
86         syslinux/loadfile.o syslinux/floadfile.o syslinux/zloadfile.o   \
87         \
88         syslinux/load_linux.o syslinux/initramfs.o                      \
89         syslinux/initramfs_file.o syslinux/initramfs_loadfile.o         \
90         syslinux/initramfs_archive.o                                    \
91         \
92         syslinux/pxe_get_cached.o                                       \
93         \
94         syslinux/adv.o syslinux/advwrite.o syslinux/getadv.o            \
95         syslinux/setadv.o
96
97 BINDIR   = /usr/bin
98 LIBDIR   = /usr/lib
99 DATADIR  = /usr/share
100 AUXDIR   = $(DATADIR)/syslinux
101 INCDIR   = /usr/include
102 COM32DIR = $(AUXDIR)/com32
103
104 all: libcom32.a
105
106 libcom32.a : $(LIBOBJS)
107         rm -f $@
108         $(AR) cq $@ $^
109         $(RANLIB) $@
110
111 tidy dist:
112         rm -f sys/vesa/alphatbl.c
113         find . -name \*.o -print | xargs -r rm -f
114         find . -name .\*.d -print | xargs -r rm -f
115
116 clean: tidy
117         rm -f *.a
118
119 spotless: clean
120         rm -f *~ \#* */*~ */\#*
121
122 install: all
123         mkdir -m 755 -p $(INSTALLROOT)$(COM32DIR)
124         install -m 644 libcom32.a com32.ld $(INSTALLROOT)$(COM32DIR)
125         -rm -rf $(INSTALLROOT)$(COM32DIR)/include
126         cp -r ../include $(INSTALLROOT)$(COM32DIR)
127
128 # These files are performance critical, and doesn't compile well with -Os
129 sys/vesa/drawtxt.o: sys/vesa/drawtxt.c
130         $(CC) $(CFLAGS) -O3 -c -o $@ $<
131
132 sys/vesa/alphatbl.c: sys/vesa/alphatbl.pl
133         $(PERL) $< > $@
134
135 jpeg/jidctflt.o: jpeg/jidctflt.c
136         $(CC) $(CFLAGS) -O3 -c -o $@ $<
137
138 -include .*.d */.*.d */*/.*.d