]> rtime.felk.cvut.cz Git - omk.git/blobdiff - snippets/vxworks
VxWorks rules are working now.
[omk.git] / snippets / vxworks
index 49469ec4d84c024bdfdd114df74ab56abf78888f..48bfa2d9f84fc0308865f280f982c9e47ee1c7a7 100644 (file)
@@ -25,9 +25,7 @@ OMK_SERIALIZE_INCLUDED = y
 endif
 
 
-BUILD_ROOT=$(USER_OBJS_DIR)
-export BUILD_ROOT
-
+# Export some variables to VxWorks makefiles
 CPPFLAGS  += -I $(USER_INCLUDE_DIR)
 
 ADDED_CFLAGS = $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
@@ -65,14 +63,21 @@ USER_SOURCES += $$($(1)_SOURCES)
 .PHONY: $(2)/$(1).vxe
 $(2)/$(1).vxe:
        @$(QUIET_CMD_ECHO) "  LINK    $$@"
+# In rules.rtp (on line 265), dep generation depends on Makefile so we must create one
+#      @[ ! -f Makefile ] && touch Makefile 
+       @touch Makefile
        @echo 'EXE = $(1).vxe' > Makefile.vxe.$(1); \
        echo 'OBJS = $$($(1)_OBJS)' >> Makefile.vxe.$(1); \
        echo 'VXE_DIR = $(2)' >> Makefile.vxe.$(1); \
-       echo 'ADDED_CFLAGS += -L$(USER_LIB_DIR)' >> Makefile.vxe.$(1); \
-       echo 'ADDED_C++FLAGS += -L$(USER_LIB_DIR)' >> Makefile.vxe.$(1); \
-       echo 'ADDED_LIBS = $(lib_LOADLIBES) $$($(1)_LIBS)' >> Makefile.vxe.$(1); \
+       echo 'OBJ_DIR = $(USER_OBJS_DIR)' >> Makefile.vxe.$(1); \
+       echo 'LIB_ROOT = $(USER_LIB_DIR)' >> Makefile.vxe.$(1); \
+       echo 'OMK_LIB_PATH = $$$$(LIB_ROOT)/$$$$(VX_CPU_FAMILY)/$$$$(CPU)/$$$$(TOOL_COMMON_DIR)$$$$(LIB_DIR_TAG)/' >> Makefile.vxe.$(1); \
+       echo 'ADDED_LIBS = -L$$$$(OMK_LIB_PATH) $(lib_LOADLIBES:%=-l%) $$($(1)_LIBS:%=-l%)' >> Makefile.vxe.$(1); \
+       echo 'VPATH = $(SOURCES_DIR)' >> Makefile.vxe.$(1); \
        echo 'include $$$$(WIND_USR)/make/rules.rtp' >> Makefile.vxe.$(1); \
        $(WRENV) -p $(WRPACKAGE) $(MAKE)  CPU=$(CPU) TOOL=$(TOOL) -f Makefile.vxe.$(1)
+#      echo 'ADDED_C++FLAGS += -L$(USER_LIB_DIR)' >> Makefile.vxe.$(1); \
+#      echo 'ADDED_CFLAGS += -L$(USER_LIB_DIR)' >> Makefile.vxe.$(1); \
 #      $(Q) $$(shell if [ -z "$$(filter %.cc,$$($(1)_SOURCES:%.cxx=%.cc))" ] ; then echo $$(CC) ; else echo $$(CXX) ; fi) \
 #        $$($(1)_OBJS) $$($(1)_LIBS:%=-l%) $$(LOADLIBES) $$(LDFLAGS) -Wl,-Map,$(USER_OBJS_DIR)/$(1).exe.map -o $(2)/$(1)
 #      @echo "$(2)/$(1): \\" >$(USER_OBJS_DIR)/$(1).exe.d
@@ -106,6 +111,7 @@ $(USER_LIB_DIR)/lib$(1).a: #$$($(1)_OBJS)
        @$(QUIET_CMD_ECHO) "  LIB     $$@"
        @echo 'LIB_BASE_NAME = $(1)' > Makefile.lib.$(1); \
        echo 'OBJS = $$($(1)_OBJS)' >> Makefile.lib.$(1); \
+       echo 'OBJ_DIR = $(USER_OBJS_DIR)' >> Makefile.lib.$(1); \
        echo 'LIB_ROOT = $(USER_LIB_DIR)' >> Makefile.lib.$(1); \
        echo 'VPATH = $(SOURCES_DIR)' >> Makefile.lib.$(1); \
        echo 'include $$$$(WIND_USR)/make/rules.library' >> Makefile.lib.$(1);