source: bootcd/isolinux/syslinux-6.03/com32/lib/Makefile

Last change on this file was e16e8f2, checked in by Edwin Eefting <edwin@datux.nl>, 3 years ago

bootstuff

  • Property mode set to 100644
File size: 3.2 KB
Line 
1#
2# ONLY INCLUDE MIT OR 2/3-BSD-LICENSED CODE IN THIS LIBRARY
3#
4
5# Include configuration rules
6NOGPL := 1
7VPATH = $(SRC)
8include $(MAKEDIR)/lib.mk
9
10## OPTIONAL OBJECTS, AVAILABLE AS DYNAMIC LINKED MODULES
11# PNG library object files
12LIBPNG_OBJS = \
13        libpng/png.o libpng/pngset.o libpng/pngget.o libpng/pngrutil.o  \
14        libpng/pngtrans.o libpng/pngwutil.o libpng/pngread.o            \
15        libpng/pngrio.o libpng/pngwio.o libpng/pngwrite.o               \
16        libpng/pngrtran.o libpng/pngwtran.o libpng/pngmem.o             \
17        libpng/pngerror.o libpng/pngpread.o
18
19# JPG library object files
20LIBJPG_OBJS = \
21        jpeg/tinyjpeg.o jpeg/jidctflt.o jpeg/decode1.o jpeg/decode3.o   \
22        jpeg/rgb24.o jpeg/bgr24.o jpeg/yuv420p.o jpeg/grey.o            \
23        jpeg/rgba32.o jpeg/bgra32.o                                     
24
25ifdef EFI_BUILD
26I915VESA_OBJ =
27else
28I915VESA_OBJ = sys/vesa/i915resolution.o
29endif
30
31LIBVESA_OBJS = \
32        sys/vesacon_write.o sys/vesaserial_write.o                      \
33        sys/vesa/initvesa.o sys/vesa/drawtxt.o  sys/vesa/background.o   \
34        sys/vesa/alphatbl.o sys/vesa/screencpy.o sys/vesa/fmtpixel.o    \
35        $(I915VESA_OBJ)
36
37LIBMISC_OBJS = \
38        sys/libansi.o sys/gpxe.o
39
40LIBPCI_OBJS = \
41        pci/cfgtype.o pci/scan.o pci/bios.o                             \
42        pci/readb.o pci/readw.o pci/readl.o                             \
43        pci/writeb.o pci/writew.o pci/writel.o
44
45LIBSYSLINUX_OBJS = \
46        syslinux/reboot.o syslinux/keyboard.o                           \
47        syslinux/version.o                                              \
48        syslinux/pxe_get_cached.o syslinux/pxe_get_nic.o                \
49        syslinux/pxe_dns.o                                              \
50        syslinux/video/fontquery.o syslinux/video/reportmode.o
51
52DYNENTRY_OBJS = \
53        atexit.o onexit.o abort.o
54
55MINLIBOBJS = \
56        syslinux/ipappend.o \
57        syslinux/dsinfo.o \
58        $(LIBOTHER_OBJS) \
59        $(LIBGCC_OBJS) \
60        $(LIBCONSOLE_OBJS) \
61        $(LIBLOAD_OBJS) \
62        $(LIBZLIB_OBJS)
63#       $(LIBVESA_OBJS)
64
65DYNLIBOBJS = \
66        $(LIBZLIB_OBJS) \
67        $(LIBPNG_OBJS) \
68        $(LIBJPG_OBJS) \
69        $(LIBPCI_OBJS) \
70        $(LIBVESA_OBJS) \
71        $(LIBSYSLINUX_OBJS) \
72        $(LIBLOAD_OBJS) \
73        $(LIBMISC_OBJS) \
74        $(DYNENTRY_OBJS)
75
76
77LIBOBJS = $(DYNLIBOBJS)
78
79BINDIR   = /usr/bin
80LIBDIR   = /usr/lib
81DATADIR  = /usr/share
82AUXDIR   = $(DATADIR)/syslinux
83INCDIR   = /usr/include
84COM32DIR = $(AUXDIR)/com32
85
86all: makeoutputdirs libcom32.c32 libcom32min.a libcom32core.a
87
88makeoutputdirs:
89        @mkdir -p $(foreach b, \
90                $(addprefix $(OBJ)/,$(sort $(dir $(LIBOBJS) $(MINLIBOBJS) $(CORELIBOBJS)))),$(b))
91
92libcom32.elf : $(LIBOBJS)
93        rm -f $@
94        $(LD) -shared $(LDFLAGS) -soname $(patsubst %.elf,%.c32,$(@F)) -o $@ $^
95
96libcom32min.a : $(MINLIBOBJS)
97        rm -f $@
98        $(AR) cq $@ $^
99        $(RANLIB) $@
100
101libcom32core.a : $(CORELIBOBJS)
102        rm -f $@
103        $(AR) cq $@ $^
104        $(RANLIB) $@
105
106tidy dist clean:
107        rm -f sys/vesa/alphatbl.c errlist.c
108        find . \( -name \*.o -o -name \*.a -o -name .\*.d -o -name \*.tmp \) -print0 | \
109                xargs -0r rm -f
110
111spotless: clean
112        rm -f *.a *.c32
113        rm -f *~ \#* */*~ */\#*
114
115install: all
116        mkdir -m 755 -p $(INSTALLROOT)$(COM32DIR)
117        install -m 644 $(SRC)/com32.ld $(INSTALLROOT)$(COM32DIR)
118        -rm -rf $(INSTALLROOT)$(COM32DIR)/include
119        cp -r $(SRC)/../include $(INSTALLROOT)$(COM32DIR)
120
121errlist.c: makeerrlist.pl $(SRC)/../include/errno.h
122        $(PERL) $<  $(CFLAGS) -errlist > $@ || rm -f $@
123
124# These files are performance critical, and doesn't compile well with -Os
125sys/vesa/drawtxt.o: sys/vesa/drawtxt.c
126        $(CC) $(MAKEDEPS) $(CFLAGS) -O3 -c -o $@ $<
127
128sys/vesa/alphatbl.c: sys/vesa/alphatbl.pl
129        $(PERL) $< > $@
130
131jpeg/jidctflt.o: jpeg/jidctflt.c
132        $(CC) $(MAKEDEPS) $(CFLAGS) -O3 -c -o $@ $<
133
134-include .*.d */.*.d */*/.*.d
Note: See TracBrowser for help on using the repository browser.