[pok-devel] [Patch] Partition library

[ Thread Index | Date Index | More lists.tuxfamily.org/pok-devel Archives ]


Hi,

during my GSoC Project for RTEMS, I changed some source code in POK.

I need a library consisting of all object files of a partition. Therefore I need libpok and the $(OBJS) files mentioned in the partition's makefile.

I tried to introduce a new file misc/mk/rules-libpart.mk, to get the code generator to include it and to add libpart to the target array of the partition Makefile. But to do this, I have to change the backend code in ocarina.

I don't want to do this. So I decided to use the libpok target to build this library, too.

This change affects the compile time on the host, but neither the execution time nor the final binary.

I ran 'make test' and all tests completed successfully.


* The patch is attached and I would commit it Friday, if nobody objects.*


Further information on this can be read here:
http://phipse.github.io/rtems/blog/2013/07/28/generation-of-libpart-target/


Cheers,
Philipp
Index: misc/mk/rules-partition.mk
===================================================================
--- misc/mk/rules-partition.mk	(revision 46)
+++ misc/mk/rules-partition.mk	(working copy)
@@ -12,9 +12,15 @@
 COPTS += -include $(DEPLOYMENT_HEADER)
 endif
 
-libpok: 
+# This target produces libpok and a new library consisting of the contents of libpok and the partition's object files.
+libpok: $(OBJS) 
 	$(CD) $(POK_PATH)/libpok && $(MAKE) distclean all
 	$(CP) $(POK_PATH)/libpok/libpok.a `pwd`/
+	$(ECHO) $(ECHO_FLAGS) $(ECHO_FLAGS_ONELINE) "[AR] libpart.a "
+	/bin/ar -x libpok.a
+	/bin/ar -csr libpart.a $(OBJS) *.lo
+	if test $$? -eq 0; then $(ECHO) $(ECHO_FLAGS) $(ECHO_GREEN) " OK "; else $(ECHO) $(ECHO_FLAGS) $(ECHO_RED) " KO"; fi
+	rm *.lo
 
 $(TARGET): $(OBJS)
 	$(ECHO) $(ECHO_FLAGS) $(ECHO_FLAGS_ONELINE) "[Assemble partition $@ "


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/