]> rtime.felk.cvut.cz Git - omk.git/blobdiff - snippets/linux.omk
Support target specific flags also for libraries
[omk.git] / snippets / linux.omk
index 3b2595f55960a89dc69e5ff44ccb466430c9a37c..48f6dba8477d9f0d9620b69aebefdaf4c968a774 100644 (file)
@@ -231,7 +231,7 @@ TARGET_SOURCES = $($(1)_SOURCES) $($(1)_GEN_SOURCES) $(TARGET_IDL_SOURCES)
 TARGET_SOURCES_ABS = $($(1)_SOURCES:%=$(SOURCES_DIR)/%) $($(1)_GEN_SOURCES) $(TARGET_IDL_SOURCES)
 TARGET_OBJ_PREFIX = $(if $($(1)_CFLAGS)$($(1)_CXXFLAGS)$($(1)_CPPFLAGS),$(1)-,)
 TARGET_OBJS  = $(sort $(addprefix $(TARGET_OBJ_PREFIX),$(addsuffix .o,$(basename $(notdir $(TARGET_SOURCES))))))
-TARGET_LOBJS = $(sort $(addsuffix .lo,$(basename $(notdir $(TARGET_SOURCES)))))
+TARGET_LOBJS = $(sort $(addprefix $(TARGET_OBJ_PREFIX),$(addsuffix .lo,$(basename $(notdir $(TARGET_SOURCES))))))
 TARGET_IDLS = $($(1)_SERVER_IDL) $($(1)_CLIENT_IDL) $($(1)_IDL)
 TARGET_CFLAGS   = $(if $($(1)_CFLAGS),$($(1)_CFLAGS),$(AM_CFLAGS))
 TARGET_CXXFLAGS = $(if $($(1)_CXXFLAGS),$($(1)_CXXFLAGS),$(AM_CXXFLAGS))
@@ -273,8 +273,11 @@ define LIBRARY_template
 
 $(foreach idl,$(TARGET_IDLS),$(call COMPILE_idl_template,$(SOURCES_DIR)/$(idl),$(idl:%.idl=%)))
 
-$(call COMPILE_templates,$(TARGET_SOURCES_ABS),.o)
+$(call COMPILE_templates,$(TARGET_SOURCES_ABS),.o,$(TARGET_OBJ_PREFIX))
 
+$(USER_LIB_DIR)/lib$(1).a: AM_CFLAGS=$(TARGET_CFLAGS)
+$(USER_LIB_DIR)/lib$(1).a: AM_CXXFLAGS=$(TARGET_CXXFLAGS)
+$(USER_LIB_DIR)/lib$(1).a: AM_CPPFLAGS=$(TARGET_CPPFLAGS)
 $(USER_LIB_DIR)/lib$(1).a: $(TARGET_OBJS)
        @$(QUIET_CMD_ECHO) "  AR      $$@"
        $(Q) $(AR) rcs $$@ $$^
@@ -288,11 +291,15 @@ define SOLIB_template
 
 $(foreach idl,$(TARGET_IDLS),$(call COMPILE_idl_template,$(SOURCES_DIR)/$(idl),$(idl:%.idl=%)))
 
-$(call COMPILE_templates,$(TARGET_SOURCES_ABS),.lo)
+$(call COMPILE_templates,$(TARGET_SOURCES_ABS),.lo,$(TARGET_OBJ_PREFIX))
 
 .PHONY: $(OMK_WORK_DIR)/lib$(1).$(SOLIB_EXT).omkvar
-$(OMK_WORK_DIR)/lib$(1).$(SOLIB_EXT).omkvar: AM_CFLAGS += $(SOLIB_PICFLAGS)
-$(OMK_WORK_DIR)/lib$(1).$(SOLIB_EXT).omkvar: AM_CXXFLAGS += $(SOLIB_PICFLAGS)
+$(2)/$(1)$(3): AM_CFLAGS=$(TARGET_CFLAGS)
+$(2)/$(1)$(3): AM_CXXFLAGS=$(TARGET_CXXFLAGS)
+$(2)/$(1)$(3): AM_CPPFLAGS=$(TARGET_CPPFLAGS)
+$(OMK_WORK_DIR)/lib$(1).$(SOLIB_EXT).omkvar: AM_CFLAGS = $(TARGET_CFLAGS) $(SOLIB_PICFLAGS)
+$(OMK_WORK_DIR)/lib$(1).$(SOLIB_EXT).omkvar: AM_CXXFLAGS = $(TARGET_CXXFLAGS) $(SOLIB_PICFLAGS)
+$(OMK_WORK_DIR)/lib$(1).$(SOLIB_EXT).omkvar: AM_CPPFLAGS = $(TARGET_CPPFLAGS)
 $(OMK_WORK_DIR)/lib$(1).$(SOLIB_EXT).omkvar: $(TARGET_LOBJS)
        $(Q)echo '$(1)_objslo += $$$$(addprefix $(USER_OBJS_DIR)/,$$^)' > $$@.tmp; \
            echo '$(1)_libs += $$($(1)_LIBS) $$(lib_LOADLIBES)' >> $$@.tmp; \