]> xenbits.xensource.com Git - osstest/rumprun.git/commitdiff
Build libs into objdir.
authorAntti Kantee <pooka@iki.fi>
Thu, 22 Oct 2015 12:21:27 +0000 (12:21 +0000)
committerAntti Kantee <pooka@iki.fi>
Thu, 22 Oct 2015 12:37:05 +0000 (12:37 +0000)
Well, the ones built by platform/Makefile.inc, at any rate.

platform/Makefile.inc
platform/hw/Makefile
platform/xen/Makefile
tests/nolibc/Makefile

index 032eae6aab55a218097f274ced66ecd7d8f687cd..da7b381f5d02fadbdfa5e27108724c614b6d6017 100644 (file)
@@ -16,23 +16,26 @@ endif
 
 MAINOBJ:=      ${RROBJ}/rumprun-${PLATFORM}-${MACHINE_ARCH}.o
 
-COREDIR:=      $(shell pwd)/../../lib/libbmk_core
-RUMPUSERDIR:=  $(shell pwd)/../../lib/libbmk_rumpuser
-COMPILERRTDIR:=        $(shell pwd)/../../lib/libcompiler_rt
+RROBJLIB:=     ${RROBJ}/lib
+LIBDIR:=       $(abspath ../../lib)
 
 COMMONDIR:=    $(abspath ../)
 
 define BUILDLIB_target
-.PHONY: ${1}/${PLATFORM}/${2}
-${1}/${PLATFORM}/${2}:
-       ( cd ${1} \
-           && ${RUMPMAKE} MAKEOBJDIR=${PLATFORM} ${3} obj \
-           && ${RUMPMAKE} MAKEOBJDIR=${PLATFORM} ${3} dependall )
+.PHONY: $${RROBJLIB}/${1}/${1}.a
+$${RROBJLIB}/${1}/${1}.a:
+       ( cd $${LIBDIR}/${1} \
+           && ${RUMPMAKE} MAKEOBJDIR=${RROBJLIB}/${1} ${2} obj \
+           && ${RUMPMAKE} MAKEOBJDIR=${RROBJLIB}/${1} ${2} dependall )
+
+${1}_clean:
+       ( cd $${LIBDIR}/${1} && \
+           ${RUMPMAKE} MAKEOBJDIR=${RROBJLIB}/${1} ${2} cleandir )
 endef
 
-$(eval $(call BUILDLIB_target,${COREDIR},libbmk_core.a))
-$(eval $(call BUILDLIB_target,${RUMPUSERDIR},libbmk_rumpuser.a))
-$(eval $(call BUILDLIB_target,${COMPILERRTDIR},libcompiler_rt.a,RUMPSRC=${RUMPSRC}))
+$(eval $(call BUILDLIB_target,libbmk_core))
+$(eval $(call BUILDLIB_target,libbmk_rumpuser))
+$(eval $(call BUILDLIB_target,libcompiler_rt,RUMPSRC=${RUMPSRC}))
 
 PSEUDOSTUBS=${RROBJ}/rumprun-pseudolinkstubs
 
@@ -44,8 +47,8 @@ bmk.ldscript: ${LDSCRIPT}
 
 commonlibs: platformlibs userlibs
 userlibs: ${PSEUDOSTUBS}.o
-platformlibs: ${COREDIR}/${PLATFORM}/libbmk_core.a ${RUMPUSERDIR}/${PLATFORM}/libbmk_rumpuser.a bmk.ldscript
-compiler_rt: ${COMPILERRTDIR}/${PLATFORM}/libcompiler_rt.a
+platformlibs: ${RROBJLIB}/libbmk_core/libbmk_core.a ${RROBJLIB}/libbmk_rumpuser/libbmk_rumpuser.a bmk.ldscript
+compiler_rt: ${RROBJLIB}/libcompiler_rt/libcompiler_rt.a
 
 .PHONY: buildtest
 buildtest: ../../tests/hello/hello.c
@@ -61,11 +64,7 @@ buildtest: ../../tests/hello/hello.c
        @echo done
 
 .PHONY: commonclean
-commonclean:
-       ( cd ${COREDIR} && ${RUMPMAKE} MAKEOBJDIR=${PLATFORM} cleandir )
-       ( cd ${RUMPUSERDIR} && ${RUMPMAKE} MAKEOBJDIR=${PLATFORM} cleandir )
-       ( cd ${COMPILERRTDIR} && \
-               ${RUMPMAKE} RUMPSRC=${RUMPSRC} MAKEOBJDIR=${PLATFORM} cleandir )
+commonclean: libbmk_core_clean libbmk_rumpuser_clean libcompiler_rt_clean
        rm -f ${PSEUDOSTUBS}.c ${PSEUDOSTUBS}.o
        rm -f bmk.ldscript
 
index f6d7ed34235b9ad096ed346b06030006afeb22ed..56e7419cec5f30806d7334460b6335a98aa9e9df 100644 (file)
@@ -50,8 +50,8 @@ links: include/hw/machine ../../include/bmk-pcpu
 
 ${MAINOBJ}: ${OBJS_BMK} platformlibs
        ${CC} -nostdlib ${CFLAGS} -Wl,-r ${OBJS_BMK} -o $@ \
-           -L${COREDIR}/hw -L${RUMPUSERDIR}/hw -Wl,--whole-archive \
-           -lbmk_rumpuser -lbmk_core -Wl,--no-whole-archive
+           -L${RROBJLIB}/libbmk_core -L${RROBJLIB}/libbmk_rumpuser \
+           -Wl,--whole-archive -lbmk_rumpuser -lbmk_core -Wl,--no-whole-archive
        ${OBJCOPY} -w -G bmk_* -G rumpuser_* -G jsmn_* \
            -G rumprun_platform_rumpuser_init -G _start $@
 
index a12ee6b0852ff4c6cb3c77d851accff32abaa4a4..291a8af424880852f6f66b8ef0ae54b4aeb5e9d6 100644 (file)
@@ -58,8 +58,8 @@ links:
 
 $(MAINOBJ): $(RUMP_OBJS) platformlibs
        $(CC) -Wl,-r $(CFLAGS) $(LDFLAGS) $(RUMP_OBJS) -nostdlib -o $@ \
-           -L${COREDIR}/xen -L${RUMPUSERDIR}/xen -Wl,--whole-archive \
-           -lbmk_rumpuser -lbmk_core -Wl,--no-whole-archive
+           -L${RROBJLIB}/libbmk_core -L${RROBJLIB}libbmk_rumpuser \
+           -Wl,--whole-archive -lbmk_rumpuser -lbmk_core -Wl,--no-whole-archive
 
 .PHONY: clean arch_clean
 
index 692e7c2ff987d76aa77e03ad3e22b54f5871dba5..8d34f513564eadedaae3b4fae7215b334033ca29 100644 (file)
@@ -4,7 +4,7 @@ include ${BUILDRUMP_TOOLFLAGS}
 CFLAGS+=       ${BUILDRUMP_TOOL_CFLAGS}
 
 LDFLAGS:= -L$(abspath ../../rumprun/lib)
-LDFLAGS+= -L$(abspath ../../lib/libcompiler_rt/${PLATFORM})
+LDFLAGS+= -L${RROBJ}/lib/libcompiler_rt
 
 CPPFLAGS+= -I../../include -I../../rumprun/include -I../../platform/${PLATFORM}/include