]> rtime.felk.cvut.cz Git - l4.git/blob - l4/mk/modes.inc
update
[l4.git] / l4 / mk / modes.inc
1 # -*- Makefile -*-
2 # vim:et:ts=8:ft=make:
3 #
4 # Makefile-Include for defining modes
5
6 ifneq ($(L4_MULTITHREADED),)
7   $(error L4_MULTITHREADED is obsolete, just remove, reentrance is default now, you might want to add 'libpthread' to REQUIRES_LIBS)
8 endif
9
10 ifneq ($(MODE_USE_C),)
11   $(error MODE_USE_C is obsolete, add and l4re_c and/or l4re_c-util to REQUIRES_LIBS as needed)
12 endif
13
14 ifeq ($(ARCH),sparc)
15 CRTBEGIN_so       = $(GCCLIBDIR)/crtbegin.o
16 CRTBEGIN_stat_bin = $(GCCLIBDIR)/crtbegin.o
17 else
18 CRTBEGIN_so       = $(GCCLIBDIR)/crtbeginS.o
19 CRTBEGIN_stat_bin = $(GCCLIBDIR)/crtbeginT.o
20 endif
21
22 CRTBEGIN_dyn_bin  = $(GCCLIBDIR)/crtbegin.o
23
24 CRTEND_so         = $(GCCLIBDIR)/crtendS.o
25 CRTEND_dyn_bin    = $(GCCLIBDIR)/crtend.o
26 CRTEND_stat_bin   = $(GCCLIBDIR)/crtend.o
27
28
29 CRT1_so           =
30 CRT1_dyn_bin      = $(call findfile,crt1.o,$(L4LIBDIR))
31 CRT1_stat_bin     = $(call findfile,crt1.o,$(L4LIBDIR))
32
33 CRTI_so           = $(call findfile,crti.s.o,$(L4LIBDIR))
34 CRTI_dyn_bin      = $(call findfile,crti.o,$(L4LIBDIR))
35 CRTI_stat_bin     = $(call findfile,crti.o,$(L4LIBDIR))
36
37 ifeq ($(ARCH),sparc)
38 CRTN_so           = $(call findfile,crtn.s.o,$(L4LIBDIR))
39 else
40 CRTN_so           = $(CRTEND_so)       $(call findfile,crtn.s.o,$(L4LIBDIR))
41 endif
42 CRTN_dyn_bin      = $(CRTEND_dyn_bin)  $(call findfile,crtn.o,$(L4LIBDIR))
43 CRTN_stat_bin     = $(CRTEND_stat_bin) $(call findfile,crtn.o,$(L4LIBDIR))
44
45 LDS_so            = $(call findfile,main_rel.ld,$(L4LIBDIR))
46 LDS_dyn_bin       = $(call findfile,main_dyn.ld,$(L4LIBDIR))
47 LDS_stat_bin      = $(call findfile,main_stat.ld,$(L4LIBDIR))
48
49
50 LIBC_INCLUDE   = -nostdinc                                  \
51                  -I$(OBJ_BASE)/include/$(ARCH)/uclibc       \
52                  -I$(OBJ_BASE)/include/uclibc               \
53                  -I$(OBJ_BASE)/include/contrib/libstdc++-v3        \
54                  $(if $(CONFIG_USE_DROPS_STDDIR),           \
55                   -I$(DROPS_STDDIR)/include/$(ARCH)/uclibc  \
56                   -I$(DROPS_STDDIR)/include/uclibc          \
57                   -I$(DROPS_STDDIR)/include/contrib/libstdc++-v3,)      \
58                  $(I_GCCINCDIR)
59
60 #############################################################################
61
62 ################################
63 # sigma0 mode
64 ################################
65
66 BID_SUPPORTED_all_sigma0        = y
67 LIBCINCDIR_all_sigma0           = $(LIBC_INCLUDE)
68 REQUIRES_LIBS_all_sigma0        =
69 L4_LIBS_all_sigma0              = -static -nostdlib                     \
70                                   $(GCCLIB) $(GCCLIB_EH) -lcrt0         \
71                                   $(EXTRA_LIBS)
72 CRT0_all_sigma0                 = $(CRTI_stat_bin) $(CRTBEGIN_stat_bin) $(CRT1_stat_bin)
73 CRTN_all_sigma0                 = $(CRTN_stat_bin)
74 LDSCRIPT_all_sigma0             = $(LDS_stat_bin)
75 LDFLAGS_all_sigma0              = -Bstatic
76
77
78 ################################
79 # static mode
80 ################################
81
82 BID_SUPPORTED_all_static        = y
83 LIBCINCDIR_all_static           = $(LIBC_INCLUDE)
84 REQUIRES_LIBS_all_static        = stdlibs
85 L4_LIBS_all_static              = -static -nostdlib  $(GCCLIB) $(GCCLIB_EH) \
86                                   $(EXTRA_LIBS)
87 CRT0_all_static                 = $(CRTI_stat_bin) $(CRTBEGIN_stat_bin) $(CRT1_stat_bin)
88 CRTN_all_static                 = $(CRTN_stat_bin)
89 LDSCRIPT_all_static             = $(LDS_stat_bin)
90 LDFLAGS_all_static              = -Bstatic
91
92 #####################################
93 # shared mode -- programs are linked against shared libs
94 #####################################
95 BID_SUPPORTED_all_shared        = y
96 LIBCINCDIR_all_shared           = $(LIBC_INCLUDE)
97 CRT0_all_shared                 = $(CRTI_dyn_bin) $(CRTBEGIN_dyn_bin) $(CRT1_dyn_bin)
98 CRTN_all_shared                 = $(CRTN_dyn_bin)
99 LDSCRIPT_all_shared             = $(LDS_dyn_bin)
100 REQUIRES_LIBS_all_shared        = stdlibs-sh
101 L4_LIBS_all_shared             += -nostdlib -luc_c_nonshared.p \
102                                   $(GCCLIB) $(GCCLIB_EH)    \
103                                   $(EXTRA_LIBS)
104 LDFLAGS_all_shared              = --eh-frame-hdr
105
106 ################################
107 # l4linux mode
108 ################################
109
110 BID_SUPPORTED_all_l4linux       = y
111 LIBCINCDIR_all_l4linux          =
112 REQUIRES_LIBS_all_l4linux       = 
113 L4_LIBS_all_l4linux             = -l4re_main                        \
114                                   $(L4_LIBS_all_l4linux_USE_C-y)    \
115                                   -l4re-util                        \
116                                   -l4lx-re.o                        \
117                                   -ll4sys-l4x -l4re                 \
118                                   $(EXTRA_LIBS)                     \
119                                   -ll4util                          \
120                                   -lcxx_base -lcxx_io               \
121                                   -lcxx_libc_io
122 CRT0_all_l4linux                 =
123 CRTN_all_l4linux                 =
124 LDSCRIPT_all_l4linux             =
125 LDFLAGS_all_l4linux              =
126
127
128 #####################################
129 # lib mode -- options when building libs
130 #####################################
131
132 BID_SUPPORTED_all_lib = y
133 LIBCINCDIR_all_lib    = $(LIBC_INCLUDE)
134 CRT0_all_lib          = $(CRTI_dyn_bin) $(CRTBEGIN_dyn_bin) $(CRT1_dyn_bin)
135 CRTN_all_lib          = $(CRTN_dyn_bin)
136 LDSCRIPT_all_lib      = $(LDS_so)
137 LDFLAGS_all_lib       = --eh-frame-hdr
138
139
140 #####################################
141 # host mode -- no L4 specifics
142 #####################################
143
144 BID_SUPPORTED_all_host = y
145 LIBCINCDIR_all_host    =
146 REQUIRES_LIBS_all_host =
147 L4_LIBS_all_host       =
148 CRT0_all_host          =
149 CRTN_all_host          =
150 LDSCRIPT_all_host      =
151 LDFLAGS_all_host       =