use the -newos toolchain even if -elf is present.
[newos.git] / templates / kernel.mk
blob0f252284327a4d2f8ce3caedaec5c2594a10de20
1 MY_TARGET_IN := $(MY_TARGET)
2 MY_TARGETLIB_IN := $(MY_TARGETLIB)
3 MY_TARGETDIR_IN := $(MY_TARGETDIR)
4 MY_SRCDIR_IN := $(MY_SRCDIR)
5 MY_SRCS_IN := $(MY_SRCS)
6 MY_CFLAGS_IN := $(MY_CFLAGS)
7 MY_CPPFLAGS_IN := $(MY_CPPFLAGS)
8 MY_INCLUDES_IN := $(MY_INCLUDES)
9 MY_LINKSCRIPT_IN := $(MY_LINKSCRIPT)
10 MY_LIBS_IN := $(MY_LIBS)
12 # extract the different source types out of the list
13 #$(warning MY_SRCS_IN = $(MY_SRCS_IN))
14 MY_CPPSRCS_IN := $(filter %.cpp,$(MY_SRCS_IN))
15 MY_CSRCS_IN := $(filter %.c,$(MY_SRCS_IN))
16 MY_ASMSRCS_IN := $(filter %.S,$(MY_SRCS_IN))
18 #$(warning MY_CPPSRCS_IN = $(MY_CPPSRCS_IN))
19 #$(warning MY_CSRCS_IN = $(MY_CSRCS_IN))
20 #$(warning MY_ASMSRCS_IN = $(MY_ASMSRCS_IN))
22 # build a list of objects
23 MY_CPPOBJS_IN := $(addprefix $(MY_TARGETDIR_IN)/,$(patsubst %.cpp,%.o,$(MY_CPPSRCS_IN)))
24 MY_COBJS_IN := $(addprefix $(MY_TARGETDIR_IN)/,$(patsubst %.c,%.o,$(MY_CSRCS_IN)))
25 MY_ASMOBJS_IN := $(addprefix $(MY_TARGETDIR_IN)/,$(patsubst %.S,%.o,$(MY_ASMSRCS_IN)))
26 _TEMP_OBJS := $(MY_CPPOBJS_IN) $(MY_COBJS_IN) $(MY_ASMOBJS_IN)
27 #$(warning _TEMP_OBJS = $(_TEMP_OBJS))
29 # add to the global object list
30 ALL_OBJS := $(ALL_OBJS) $(_TEMP_OBJS)
32 # add to the global deps
33 ALL_DEPS := $(ALL_DEPS) $(_TEMP_OBJS:.o=.d)
35 $(MY_TARGET_IN): MY_LIBS_IN:=$(MY_LIBS_IN)
36 $(MY_TARGET_IN): MY_LINKSCRIPT_IN:=$(MY_LINKSCRIPT_IN)
37 $(MY_TARGET_IN): _TEMP_OBJS:=$(_TEMP_OBJS)
38 $(MY_TARGET_IN): $(_TEMP_OBJS) $(MY_LIBS_IN)
39 @$(MKDIR)
40 @echo linking $@
41 @$(LD) $(GLOBAL_LDFLAGS) -Bdynamic -export-dynamic -dynamic-linker /foo/bar -T $(MY_LINKSCRIPT_IN) -L $(LIBGCC_PATH) -o $@ $(_TEMP_OBJS) $(MY_LIBS_IN) $(LIBGCC)
42 @echo creating listing file $@.lst
43 @$(OBJDUMP) -C -S $@ > $@.lst
45 $(MY_TARGETLIB_IN): MY_LIBS_IN:=$(MY_LIBS_IN)
46 $(MY_TARGETLIB_IN): MY_LINKSCRIPT_IN:=$(MY_LINKSCRIPT_IN)
47 $(MY_TARGETLIB_IN): _TEMP_OBJS:=$(_TEMP_OBJS)
48 $(MY_TARGETLIB_IN): $(_TEMP_OBJS) $(MY_LIBS_IN)
49 @$(MKDIR)
50 @echo linking $@
51 @$(LD) $(GLOBAL_LDFLAGS) -Bdynamic -shared -export-dynamic -dynamic-linker /foo/bar -T $(MY_LINKSCRIPT_IN) -L $(LIBGCC_PATH) -o $@ $(_TEMP_OBJS) $(MY_LIBS_IN) $(LIBGCC)
53 include templates/compile.mk
55 MY_CPPSRCS_IN :=
56 MY_CSRCS_IN :=
57 MY_ASMSRCS_IN :=
59 MY_TARGET :=
60 MY_TARGETLIB :=
61 MY_TARGETDIR :=
62 MY_SRCDIR :=
63 MY_SRCS :=
64 MY_CFLAGS :=
65 MY_CPPFLAGS :=
66 MY_INCLUDES :=
67 MY_LINKSCRIPT :=
68 MY_LIBS :=