1# Makefile for uClibc
2#
3# Copyright (C) 2000-2008 Erik Andersen <andersen@uclibc.org>
4#
5# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
6#
7
8subdirs += libc/misc/internals
9
10CSRC-y := tempname.c errno.c h_errno.c __errno_location.c __h_errno_location.c \
11	parse_config.c version.c
12
13MISC_INTERNALS_DIR := $(top_srcdir)libc/misc/internals
14MISC_INTERNALS_OUT := $(top_builddir)libc/misc/internals
15
16MISC_INTERNALS_SRC := $(patsubst %.c,$(MISC_INTERNALS_DIR)/%.c,$(CSRC-y))
17MISC_INTERNALS_OBJ := $(patsubst %.c,$(MISC_INTERNALS_OUT)/%.o,$(CSRC-y))
18
19CFLAGS-__uClibc_main.c := $(SSP_DISABLE_FLAGS)
20CFLAGS-reloc_static_pie.c := $(SSP_DISABLE_FLAGS) -DL_rcrt1
21
22libc-y += $(MISC_INTERNALS_OBJ)
23ifneq ($(UCLIBC_FORMAT_SHARED_FLAT),y)
24libc-shared-y += $(MISC_INTERNALS_OUT)/__uClibc_main.oS
25else
26libc-shared-y += $(MISC_INTERNALS_OUT)/__uClibc_main.os
27endif
28# link order is important to not pull in pthread functions, when
29# a single threaded application is statically linked
30libc-static-y := $(MISC_INTERNALS_OUT)/__uClibc_main.o $(libc-static-y)
31libc-static-$(UCLIBC_FORMAT_FLAT_SEP_DATA) += \
32  $(MISC_INTERNALS_OUT)/shared_flat_initfini.o \
33  $(MISC_INTERNALS_OUT)/shared_flat_add_library.o
34libc-static-$(UCLIBC_FORMAT_SHARED_FLAT) += \
35  $(MISC_INTERNALS_OUT)/shared_flat_initfini.o \
36  $(MISC_INTERNALS_OUT)/shared_flat_add_library.o
37libc-static-$(STATIC_PIE) += $(MISC_INTERNALS_OUT)/reloc_static_pie.o
38libc-shared-$(UCLIBC_FORMAT_SHARED_FLAT) += \
39  $(MISC_INTERNALS_OUT)/shared_flat_initfini.os \
40  $(MISC_INTERNALS_OUT)/shared_flat_add_library.os
41libc-nomulti-y += $(MISC_INTERNALS_OUT)/__uClibc_main.o
42
43objclean-y += CLEAN_libc/misc/internals
44
45CLEAN_libc/misc/internals:
46	$(do_rm) $(addprefix $(MISC_INTERNALS_OUT)/*., o os oS)
47