Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/posix/Makefile

    r7f9df7b9 r0d0b319  
    3737LIBC_FILE = $(LIBC_PREFIX)/libc.a
    3838
     39FIXED_POSIX_LIBRARY = libposixaslibc.a
    3940FIXED_C_LIBRARY = libc4posix.a
    4041MERGED_C_LIBRARY = libc.a
    4142MERGE_LIBRARIES = \
    4243        $(FIXED_C_LIBRARY) \
    43         $(LIBRARY).a \
     44        $(FIXED_POSIX_LIBRARY) \
    4445        $(LIBSOFTFLOAT_PREFIX)/libsoftfloat.a \
    4546        $(LIBSOFTINT_PREFIX)/libsoftint.a
    4647
    4748REDEFS_HIDE_LIBC = redefs-hide-libc-symbols.list
     49REDEFS_SHOW_LIBPOSIX = redefs-show-posix-symbols.list
     50COLLISIONS_LIST = collisions.list
    4851
    4952PRE_DEPEND = $(INCLUDE_LIBC)
     
    5154        $(INCLUDE_LIBC) \
    5255        $(REDEFS_HIDE_LIBC) \
     56        $(REDEFS_SHOW_LIBPOSIX) \
     57        $(COLLISIONS_LIST) \
    5358        libc.o
    5459
     
    5661
    5762SOURCES = \
    58         src/ctype.c \
    59         src/dlfcn.c \
    60         src/fcntl.c \
    61         src/fnmatch.c \
    62         src/locale.c \
    63         src/pthread/condvar.c \
    64         src/pthread/keys.c \
    65         src/pthread/mutex.c \
    66         src/pthread/threads.c \
    67         src/pwd.c \
    68         src/signal.c \
    69         src/stdio.c \
    70         src/stdio/scanf.c \
    71         src/stdlib.c \
    72         src/stdlib/strtold.c \
    73         src/string.c \
    74         src/strings.c \
    75         src/sys/mman.c \
    76         src/sys/stat.c \
    77         src/sys/wait.c \
    78         src/time.c \
    79         src/unistd.c
     63        source/ctype.c \
     64        source/dlfcn.c \
     65        source/fcntl.c \
     66        source/fnmatch.c \
     67        source/getopt.c \
     68        source/locale.c \
     69        source/pthread/condvar.c \
     70        source/pthread/keys.c \
     71        source/pthread/mutex.c \
     72        source/pthread/threads.c \
     73        source/pwd.c \
     74        source/signal.c \
     75        source/stdio.c \
     76        source/stdio/scanf.c \
     77        source/stdlib.c \
     78        source/stdlib/strtol.c \
     79        source/stdlib/strtold.c \
     80        source/string.c \
     81        source/strings.c \
     82        source/sys/mman.c \
     83        source/sys/stat.c \
     84        source/sys/wait.c \
     85        source/time.c \
     86        source/unistd.c
    8087
    8188TEST_SOURCES = \
     
    8895        ln -s -f -n ../$^ $@
    8996
    90 $(FIXED_C_LIBRARY): $(LIBC_FILE) $(REDEFS_HIDE_LIBC)
     97$(FIXED_C_LIBRARY): $(LIBC_FILE) $(REDEFS_HIDE_LIBC) $(REDEFS_SHOW_LIBPOSIX)
    9198        $(OBJCOPY) --redefine-syms=$(REDEFS_HIDE_LIBC) $(LIBC_FILE) $@
     99        $(OBJCOPY) --redefine-syms=$(REDEFS_SHOW_LIBPOSIX) $@ $@
     100
     101$(FIXED_POSIX_LIBRARY): $(LIBRARY).a $(REDEFS_HIDE_LIBC) $(REDEFS_SHOW_LIBPOSIX)
     102        $(OBJCOPY) --redefine-syms=$(REDEFS_HIDE_LIBC) $(LIBRARY).a $@
     103        $(OBJCOPY) --redefine-syms=$(REDEFS_SHOW_LIBPOSIX) $@ $@
    92104
    93105$(MERGED_C_LIBRARY): $(MERGE_LIBRARIES)
     
    95107        $(AR) rc $@ libc.o
    96108
    97 $(REDEFS_HIDE_LIBC): $(SOURCES)
    98         sed -n -e 's/_HIDE_LIBC_SYMBOL(\(.*\))/\1 __helenos_libc_\1/p' $(SOURCES) >$@
     109$(REDEFS_HIDE_LIBC): $(COLLISIONS_LIST)
     110        sed 's/.*/& __helenos_libc_&/' <$(COLLISIONS_LIST) >$@
    99111
     112$(REDEFS_SHOW_LIBPOSIX): $(COLLISIONS_LIST)
     113        sed 's/.*/posix_& &/' <$(COLLISIONS_LIST) >$@
     114
     115$(COLLISIONS_LIST): include/posix/*.h include/posix/*/*.h
     116        find ./include/posix -name '*.h' -exec \
     117                sed -n -e '/^#/d' -e 's/__POSIX_DEF__/\n&/gp' {} \; | \
     118                sed -n -e 's/__POSIX_DEF__(\([^)]*\)).*/\1/p' | \
     119                sort -u >$@
Note: See TracChangeset for help on using the changeset viewer.