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