3 shortcut.o: $(TCBOFFSET)
4 sighandler.o: $(TCBOFFSET)
6 sys_call_page-asm.o: $(TCBOFFSET)
9 # Add future prerequisites somewhere among the list of libraries. You really
10 # should not have to add anything in the $(CXX) line.
12 # Please don't add -gc-sections as linker option here. The reason is that
13 # properly working destructors of libc.a require __start_libc_atexit and
14 # __stop_libc_atexit to be defined by the linker. The ld linker defines
15 # these symbols by magic if it finds a 'libc section' -- the section name
16 # starts with '_'. However, if the section is completely purged, these
17 # symbols are not defined and therefore the libc destructors are not executed
18 # (_IO_cleanup so far). We could manually create the correct section by adding
21 # PROVIDE(__start___libc_atexit = .);
22 # KEEP(*(__libc_atexit))
23 # PROVIDE(__stop___libc_atexit = .);
26 # to the linker script. We don't do this because we don't know which symbols
27 # are required by future versions of the libc.
29 $(KERNEL): kernel.ux.lds $(OBJ_KERNEL) $(MINILIBC) $(LIBK) $(KERNEL_EXTRA_LIBS) $(ABI) $(JABI) $(DRIVERS) $(CXXLIB)
31 $(VERBOSE)$(CXX) -m32 -Wl,-T$< -static -o $@ -Wl,--whole-archive $(MINILIBC) -Wl,--no-whole-archive $(KERNEL_UNRES_SYMS) $(filter-out $<,$+) -lutil $(WRAP_SYMBOLS)
32 $(VERBOSE)chmod 755 $@
33 @$(ECHO) " ==> Generating fiasco"
34 $(VERBOSE)ln -sf $@ fiasco
35 $(VERBOSE)preinit_array_start=$$(nm $(KERNEL) | grep __preinit_array_start | cut -d' ' -f1); \
36 preinit_array_end=$$(nm $(KERNEL) | grep __preinit_array_end | cut -d' ' -f1); \
37 if [ "$$preinit_array_start" != "$$preinit_array_end" ]; then \
38 echo "preinit_array content appeared, check linker symbols"; \
43 $(VERBOSE)$(CC) -O2 -Wall -W -c -o $@ $<
47 $(VERBOSE)$(CC) -static -o $@ $<
51 ifeq ($(CONFIG_UX_CON),y)
53 SDL_CFLAGS := $(shell $(SYSTEM_TARGET)sdl-config --cflags)
54 SDL_LDFLAGS := $(shell $(SYSTEM_TARGET)sdl-config --libs)
57 $(error sdl-config not found. libsdl including header files installed?)
62 $(VERBOSE)$(CC) -O2 -Wall -W -g $(SDL_CFLAGS) -c $<
66 $(VERBOSE)$(CC) $(SDL_LDFLAGS) $< -o $@
71 ifeq ($(CONFIG_UX_NET),y)
74 $(VERBOSE)$(CC) -O2 -Wall -W -g -c $<
78 $(VERBOSE)$(CC) $< -o $@