Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/libc/Makefile

    rcc1f8d4 re035612  
    2727#
    2828
    29 include Makefile.common
     29## Common compiler flags
     30#
    3031
    31 .PHONY: all clean
     32LIBC_PREFIX = $(shell pwd)
     33SOFTINT_PREFIX = ../softint
    3234
    33 all: ../../../Makefile.config ../../../config.h ../../../config.defs
    34         -[ -f $(DEPEND) ] && mv -f $(DEPEND) $(DEPEND_PREV)
    35         $(MAKE) -f Makefile.build
     35
     36## Setup toolchain
     37#
     38
     39include $(LIBC_PREFIX)/Makefile.toolchain
     40
     41
     42## Sources
     43#
     44
     45GENERIC_SOURCES = \
     46        generic/libc.c \
     47        generic/ddi.c \
     48        generic/as.c \
     49        generic/cap.c \
     50        generic/devmap.c \
     51        generic/event.c \
     52        generic/errno.c \
     53        generic/mem.c \
     54        generic/string.c \
     55        generic/fibril.c \
     56        generic/fibril_sync.c \
     57        generic/pcb.c \
     58        generic/smc.c \
     59        generic/thread.c \
     60        generic/tls.c \
     61        generic/task.c \
     62        generic/futex.c \
     63        generic/io/asprintf.c \
     64        generic/io/io.c \
     65        generic/io/printf.c \
     66        generic/io/klog.c \
     67        generic/io/snprintf.c \
     68        generic/io/vprintf.c \
     69        generic/io/vsnprintf.c \
     70        generic/io/printf_core.c \
     71        generic/io/console.c \
     72        generic/malloc.c \
     73        generic/sysinfo.c \
     74        generic/ipc.c \
     75        generic/async.c \
     76        generic/loader.c \
     77        generic/getopt.c \
     78        generic/adt/list.o \
     79        generic/adt/hash_table.o \
     80        generic/time.c \
     81        generic/err.c \
     82        generic/stdlib.c \
     83        generic/mman.c \
     84        generic/udebug.c \
     85        generic/vfs/vfs.c \
     86        generic/vfs/canonify.c
     87
     88ARCH_SOURCES += \
     89        arch/$(UARCH)/src/entry.s \
     90        arch/$(UARCH)/src/thread_entry.s
     91
     92GENERIC_OBJECTS := $(addsuffix .o,$(basename $(GENERIC_SOURCES)))
     93ARCH_OBJECTS := $(addsuffix .o,$(basename $(ARCH_SOURCES)))
     94OBJECTS := $(GENERIC_OBJECTS) $(ARCH_OBJECTS)
     95
     96.PHONY: all clean depend kerninc
     97
     98all: libc.a
     99
     100-include Makefile.depend
    36101
    37102clean:
    38         rm -f $(DEPEND) $(DEPEND_PREV) $(INCLUDE_KERNEL) $(INCLUDE_ARCH) $(INCLUDE_LIBARCH) $(LIBC) arch/*/_link.ld
    39         find generic/ arch/*/ -name '*.o' -follow -exec rm \{\} \;
     103        -rm -f include/kernel include/arch include/libarch libc.a arch/$(UARCH)/_link.ld Makefile.depend
     104        find generic/ arch/$(UARCH)/ -name '*.o' -follow -exec rm \{\} \;
     105
     106depend: kerninc arch/$(UARCH)/_link.ld
     107        -makedepend -f - -- $(DEPEND_DEFS) $(CFLAGS) -- $(ARCH_SOURCES) $(GENERIC_SOURCES) > Makefile.depend 2> /dev/null
     108
     109libc.a: depend $(ARCH_OBJECTS) $(GENERIC_OBJECTS)
     110        $(AR) rc libc.a $(LIBS) $(ARCH_OBJECTS) $(GENERIC_OBJECTS)
     111
     112kerninc:
     113        ln -sfn ../../../../kernel/generic/include include/kernel
     114        ln -sfn kernel/arch include/arch
     115        ln -sfn ../arch/$(UARCH)/include include/libarch
     116
     117arch/$(UARCH)/_link.ld: arch/$(UARCH)/_link.ld.in
     118        $(GCC) $(DEFS) $(CFLAGS) -DLIBC_PREFIX=$(LIBC_PREFIX) -E -x c $< | grep -v "^\#" > $@
     119
     120%.o: %.S
     121        $(CC) $(DEFS) $(AFLAGS) $(CFLAGS) -D__ASM__ -c $< -o $@
     122
     123%.o: %.s
     124        $(AS) $(AFLAGS) $< -o $@
     125
     126%.o: %.c
     127        $(CC) $(DEFS) $(CFLAGS) -c $< -o $@
Note: See TracChangeset for help on using the changeset viewer.