source: mainline/uspace/lib/posix/Makefile@ ea509069

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since ea509069 was ea509069, checked in by Vojtech Horky <vojtechhorky@…>, 12 years ago

libposix: placeholders for pthread API

  • Property mode set to 100644
File size: 3.3 KB
RevLine 
[2d2b8e6]1#
2# Copyright (c) 2011 Petr Koupy
3# Copyright (c) 2011 Jiri Zarevucky
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions
8# are met:
9#
10# - Redistributions of source code must retain the above copyright
11# notice, this list of conditions and the following disclaimer.
12# - Redistributions in binary form must reproduce the above copyright
13# notice, this list of conditions and the following disclaimer in the
14# documentation and/or other materials provided with the distribution.
15# - The name of the author may not be used to endorse or promote products
16# derived from this software without specific prior written permission.
17#
18# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28#
29
30USPACE_PREFIX = ../..
31LIBRARY = libposix
[965c250]32SLIBRARY = libposix.so.0.0
33LSONAME = libposix.so0
34
[a3da2b2]35EXTRA_CFLAGS = -Iinclude/
36
37INCLUDE_LIBC = ./include/libc
[965c250]38
[fdf97f6]39LIBC_FILE = $(LIBC_PREFIX)/libc.a
40
41FIXED_POSIX_LIBRARY = libposixaslibc.a
42FIXED_C_LIBRARY = libc4posix.a
43
44REDEFS_HIDE_LIBC = redefs-hide-libc.xargs
45REDEFS_SHOW_LIBPOSIX = redefs-show-posix.xargs
46COLLISIONS_LIST = collisions.list
47
[965c250]48PRE_DEPEND = $(INCLUDE_LIBC)
[fdf97f6]49EXTRA_CLEAN = \
50 $(INCLUDE_LIBC) \
51 $(REDEFS_HIDE_LIBC) $(REDEFS_SHOW_LIBPOSIX) \
52 $(COLLISIONS_LIST)
53EXTRA_OUTPUT = $(FIXED_C_LIBRARY) $(FIXED_POSIX_LIBRARY)
[2d2b8e6]54
55SOURCES = \
[a3da2b2]56 source/ctype.c \
57 source/errno.c \
58 source/fcntl.c \
59 source/fnmatch.c \
60 source/getopt.c \
61 source/locale.c \
62 source/math.c \
[ea509069]63 source/pthread/condvar.c \
64 source/pthread/keys.c \
65 source/pthread/mutex.c \
66 source/pthread/threads.c \
[a3da2b2]67 source/pwd.c \
68 source/signal.c \
69 source/stdio.c \
70 source/stdio/scanf.c \
71 source/stdlib.c \
72 source/stdlib/strtol.c \
73 source/stdlib/strtold.c \
74 source/string.c \
75 source/strings.c \
76 source/sys/stat.c \
77 source/sys/wait.c \
78 source/time.c \
79 source/unistd.c
[2d2b8e6]80
81include $(USPACE_PREFIX)/Makefile.common
82
[965c250]83$(INCLUDE_LIBC): ../c/include
[a3da2b2]84 ln -s -f -n ../$^ $@
[fdf97f6]85
86$(FIXED_C_LIBRARY): $(REDEFS_HIDE_LIBC) $(REDEFS_SHOW_LIBPOSIX)
87 ./tools/transform-symbols.sh \
88 $(OBJCOPY) $(AR) echo \
89 $(LIBC_FILE) $@ \
90 $(REDEFS_HIDE_LIBC) $(REDEFS_SHOW_LIBPOSIX)
91
92$(FIXED_POSIX_LIBRARY): $(LIBRARY).a $(REDEFS_HIDE_LIBC) $(REDEFS_SHOW_LIBPOSIX)
93 ./tools/transform-symbols.sh \
94 $(OBJCOPY) $(AR) echo \
95 $(LIBRARY).a $@ \
96 $(REDEFS_HIDE_LIBC) $(REDEFS_SHOW_LIBPOSIX)
97
98$(REDEFS_HIDE_LIBC): $(COLLISIONS_LIST)
99 ./tools/create-redefines.sh "" "__helenos_libc_" <$(COLLISIONS_LIST) >$@
100
101$(REDEFS_SHOW_LIBPOSIX): $(COLLISIONS_LIST)
102 ./tools/create-redefines.sh "posix_" "" <$(COLLISIONS_LIST) >$@
103
104$(COLLISIONS_LIST):
105 ./tools/get-collision-list.sh ./include/posix >$@
Note: See TracBrowser for help on using the repository browser.