Changeset 94 for trunk/libjdkmidi/trunk

Show
Ignore:
Timestamp:
08/24/06 14:09:09 (2 years ago)
Author:
jeffk@…
Message:

better support for cross compiling - native and target src files can be different. top dir extracted automatically without using relative paths

Location:
trunk/libjdkmidi/trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • trunk/libjdkmidi/trunk/configure

    r90 r94  
    6464 
    6565 
    66  
    6766params=$(( 
    6867  for i in "$@" 
     
    8079 
    8180magic_PROJECT_TOP_DIR="${magic_PROJECT_TOP_DIR:-${PWD}/${relative_dir}}" 
     81magic_PROJECT_TOP_DIR=$(cd "${magic_PROJECT_TOP_DIR}" && pwd) 
    8282magic_PREFIX="${magic_PREFIX:-${PWD}/install}" 
    8383magic_INSTALL_DIR="${magic_PREFIX}" 
  • trunk/libjdkmidi/trunk/magic.mak

    r91 r94  
    249249NATIVE_OUTPUT_LIB?=$(NATIVE_OUTPUT_LIB_DIR)/lib$(PROJECT).a 
    250250 
     251 
     252NATIVE_LIB_SRC_DIR+=$(addsuffix /src,$(LIB_DIRS)) $(foreach platform,$(NATIVE_PLATFORM_DIRS),$(addsuffix /src/$(platform),$(LIB_DIRS))) 
     253NATIVE_LIB_TESTS_DIR+=$(addsuffix /tests,$(LIB_DIRS)) $(foreach platform,$(NATIVE_PLATFORM_DIRS),$(addsuffix /tests/$(platform),$(LIB_DIRS))) 
     254NATIVE_LIB_EXAMPLES_DIR+=$(addsuffix /examples,$(LIB_DIRS)) $(foreach platform,$(NATIVE_PLATFORM_DIRS),$(addsuffix /examples/$(platform),$(LIB_DIRS))) 
     255NATIVE_LIB_TOOLS_DIR+=$(addsuffix /tools,$(LIB_DIRS)) $(foreach platform,$(NATIVE_PLATFORM_DIRS),$(addsuffix /tools/$(platform),$(LIB_DIRS))) 
     256 
     257 
    251258endif 
    252259 
     
    257264LIB_TOOLS_DIR+=$(addsuffix /tools,$(LIB_DIRS)) $(foreach platform,$(PLATFORM_DIRS),$(addsuffix /tools/$(platform),$(LIB_DIRS))) 
    258265LIB_DOCS_DIR+=$(addsuffix /docs,$(LIB_DIRS)) 
     266 
    259267 
    260268BUILD_DIR=$(PWD) 
     
    436444 
    437445ifeq ($(CROSS_COMPILING),1) 
    438 NATIVE_LIB_O_FILES=$(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(LIB_CPP_FILES:.cpp=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(LIB_C_FILES:.c=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(LIB_M_FILES:.m=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(LIB_MM_FILES:.mm=.o)) 
     446NATIVE_LIB_CPP_FILES=$(notdir $(foreach dir,$(NATIVE_LIB_SRC_DIR),$(wildcard $(dir)/*.cpp)))  
     447NATIVE_LIB_C_FILES=$(notdir $(foreach dir,$(NATIVE_LIB_SRC_DIR),$(wildcard $(dir)/*.c)))  
     448NATIVE_LIB_M_FILES=$(notdir $(foreach dir,$(NATIVE_LIB_SRC_DIR),$(wildcard $(dir)/*.m)))  
     449NATIVE_LIB_MM_FILES=$(notdir $(foreach dir,$(NATIVE_LIB_SRC_DIR),$(wildcard $(dir)/*.mm)))  
     450 
     451NATIVE_LIB_O_FILES=$(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(NATIVE_LIB_CPP_FILES:.cpp=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(NATIVE_LIB_C_FILES:.c=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(NATIVE_LIB_M_FILES:.m=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(NATIVE_LIB_MM_FILES:.mm=.o)) 
    439452endif 
    440453 
     
    448461LIB_TOOLS_O_FILES=$(addprefix $(OUTPUT_OBJ_DIR)/,$(LIB_TOOLS_CPP_FILES:.cpp=.o)) $(addprefix $(OUTPUT_OBJ_DIR)/,$(LIB_TOOLS_C_FILES:.c=.o)) $(addprefix $(OUTPUT_OBJ_DIR)/,$(LIB_TOOLS_M_FILES:.m=.o)) $(addprefix $(OUTPUT_OBJ_DIR)/,$(LIB_TOOLS_MM_FILES:.mm=.o)) 
    449462LIB_TOOLS_EXE_FILES=$(addprefix $(OUTPUT_TOOLS_DIR)/,$(notdir $(LIB_TOOLS_O_FILES:.o=$(EXE)))) 
    450 ifeq ($(CROSS_COMPILING),1) 
    451 NATIVE_LIB_TOOLS_O_FILES=$(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(NATIVE_LIB_TOOLS_CPP_FILES:.cpp=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(NATIVE_LIB_TOOLS_C_FILES:.c=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(NATIVE_LIB_TOOLS_M_FILES:.m=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(LIB_TOOLS_MM_FILES:.mm=.o)) 
     463 
     464ifeq ($(CROSS_COMPILING),1) 
     465NATIVE_LIB_TOOLS_CPP_FILES=$(notdir $(foreach dir,$(NATIVE_LIB_TOOLS_DIR),$(wildcard $(dir)/*.cpp)))  
     466NATIVE_LIB_TOOLS_C_FILES=$(notdir $(foreach dir,$(NATIVE_LIB_TOOLS_DIR),$(wildcard $(dir)/*.c)))  
     467NATIVE_LIB_TOOLS_M_FILES=$(notdir $(foreach dir,$(NATIVE_LIB_TOOLS_DIR),$(wildcard $(dir)/*.m)))  
     468NATIVE_LIB_TOOLS_MM_FILES=$(notdir $(foreach dir,$(NATIVE_LIB_TOOLS_DIR),$(wildcard $(dir)/*.mm)))  
     469 
     470NATIVE_LIB_TOOLS_O_FILES=$(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(NATIVE_LIB_TOOLS_CPP_FILES:.cpp=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(NATIVE_LIB_TOOLS_C_FILES:.c=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(NATIVE_LIB_TOOLS_M_FILES:.m=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(NATIVE_LIB_TOOLS_MM_FILES:.mm=.o)) 
    452471NATIVE_LIB_TOOLS_EXE_FILES=$(addprefix $(NATIVE_OUTPUT_TOOLS_DIR)/,$(notdir $(NATIVE_LIB_TOOLS_O_FILES:.o=$(NATIVE_EXE)))) 
    453472endif 
     
    461480LIB_TESTS_EXE_FILES=$(addprefix $(OUTPUT_TESTS_DIR)/,$(notdir $(LIB_TESTS_O_FILES:.o=$(EXE)))) 
    462481 
    463 LIB_TESTS_SH_FILES=$(foreach dir,$(LIB_TESTS_DIR),$(wildcard $(dir)/*.sh)) $(foreach platform,$(PLATFORM_DIRS),$(foreach dir,$(LIB_TESTS_DIR),$(wildcard $(dir)/$(platform)/*.sh))) 
    464 ifeq ($(CROSS_COMPILING),1) 
    465 NATIVE_LIB_TESTS_O_FILES=$(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(LIB_TESTS_CPP_FILES:.cpp=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(LIB_TESTS_C_FILES:.c=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(LIB_TESTS_M_FILES:.m=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(LIB_TESTS_MM_FILES:.mm=.o)) 
     482LIB_TESTS_SH_FILES=$(foreach dir,$(NATIVE_LIB_TESTS_DIR),$(wildcard $(dir)/*.sh)) $(foreach platform,$(PLATFORM_DIRS),$(foreach dir,$(LIB_TESTS_DIR),$(wildcard $(dir)/$(platform)/*.sh))) 
     483 
     484ifeq ($(CROSS_COMPILING),1) 
     485NATIVE_LIB_TESTS_CPP_FILES=$(notdir $(foreach dir,$(NATIVE_LIB_TESTS_DIR),$(wildcard $(dir)/*.cpp)))  
     486NATIVE_LIB_TESTS_C_FILES=$(notdir $(foreach dir,$(NATIVE_LIB_TESTS_DIR),$(wildcard $(dir)/*.c)))  
     487NATIVE_LIB_TESTS_M_FILES=$(notdir $(foreach dir,$(NATIVE_LIB_TESTS_DIR),$(wildcard $(dir)/*.m)))  
     488NATIVE_LIB_TESTS_MM_FILES=$(notdir $(foreach dir,$(NATIVE_LIB_TESTS_DIR),$(wildcard $(dir)/*.mm)))  
     489 
     490NATIVE_LIB_TESTS_O_FILES=$(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(NATIVE_LIB_TESTS_CPP_FILES:.cpp=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(NATIVE_LIB_TESTS_C_FILES:.c=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(NATIVE_LIB_TESTS_M_FILES:.m=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(NATIVE_LIB_TESTS_MM_FILES:.mm=.o)) 
    466491NATIVE_LIB_TESTS_EXE_FILES=$(addprefix $(NATIVE_OUTPUT_TESTS_DIR)/,$(notdir $(NATIVE_LIB_TESTS_O_FILES:.o=$(NATIVE_EXE)))) 
    467492NATIVE_LIB_TESTS_SH_FILES=$(foreach dir,$(NATIVE_LIB_TESTS_DIR),$(wildcard $(dir)/*.sh)) $(foreach platform,$(NATIVE_PLATFORM_DIRS),$(foreach dir,$(NATIVE_LIB_TESTS_DIR),$(wildcard $(dir)/$(platform)/*.sh))) 
     
    477502LIB_EXAMPLES_O_FILES=$(addprefix $(OUTPUT_OBJ_DIR)/,$(LIB_EXAMPLES_CPP_FILES:.cpp=.o)) $(addprefix $(OUTPUT_OBJ_DIR)/,$(LIB_EXAMPLES_C_FILES:.c=.o)) $(addprefix $(OUTPUT_OBJ_DIR)/,$(LIB_EXAMPLES_M_FILES:.m=.o)) $(addprefix $(OUTPUT_OBJ_DIR)/,$(LIB_EXAMPLES_MM_FILES:.mm=.o)) 
    478503LIB_EXAMPLES_EXE_FILES=$(addprefix $(OUTPUT_EXAMPLES_DIR)/,$(notdir $(LIB_EXAMPLES_O_FILES:.o=$(EXE)))) 
    479 ifeq ($(CROSS_COMPILING),1) 
    480 NATIVE_LIB_EXAMPLES_O_FILES=$(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(LIB_EXAMPLES_CPP_FILES:.cpp=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(LIB_EXAMPLES_C_FILES:.c=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(LIB_EXAMPLES_M_FILES:.m=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(LIB_EXAMPLES_MM_FILES:.mm=.o)) 
     504 
     505ifeq ($(CROSS_COMPILING),1) 
     506NATIVE_LIB_EXAMPLES_CPP_FILES=$(notdir $(foreach dir,$(NATIVE_LIB_EXAMPLES_DIR),$(wildcard $(dir)/*.cpp)))   
     507NATIVE_LIB_EXAMPLES_C_FILES=$(notdir $(foreach dir,$(NATIVE_LIB_EXAMPLES_DIR),$(wildcard $(dir)/*.c)))   
     508NATIVE_LIB_EXAMPLES_M_FILES=$(notdir $(foreach dir,$(NATIVE_LIB_EXAMPLES_DIR),$(wildcard $(dir)/*.m)))   
     509NATIVE_LIB_EXAMPLES_MM_FILES=$(notdir $(foreach dir,$(NATIVE_LIB_EXAMPLES_DIR),$(wildcard $(dir)/*.mm)))   
     510 
     511NATIVE_LIB_EXAMPLES_O_FILES=$(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(NATIVE_LIB_EXAMPLES_CPP_FILES:.cpp=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(NATIVE_LIB_EXAMPLES_C_FILES:.c=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(NATIVE_LIB_EXAMPLES_M_FILES:.m=.o)) $(addprefix $(NATIVE_OUTPUT_OBJ_DIR)/,$(NATIVE_LIB_EXAMPLES_MM_FILES:.mm=.o)) 
    481512NATIVE_LIB_EXAMPLES_EXE_FILES=$(addprefix $(NATIVE_OUTPUT_EXAMPLES_DIR)/,$(notdir $(NATIVE_LIB_EXAMPLES_O_FILES:.o=$(EXE)))) 
    482513endif 
     
    676707   @echo '  (--cflags) echo $(CFLAGS) $(CONFIG_TOOL_COMPILE_FLAGS);;' >>$(CONFIG_TOOL_FILE) 
    677708   @echo '  (--cxxflags) echo $(CXXFLAGS) $(CONFIG_TOOL_COMPILE_FLAGS);;' >>$(CONFIG_TOOL_FILE) 
    678    @echo '  (--cppflags) echo $(PREPROCESS_FLAGS);;' >>$(CONFIG_TOOL_FILE) 
     709   @echo '  (--cppflags) echo $(addprefix -D,$(DEFINES));;' >>$(CONFIG_TOOL_FILE) 
    679710   @echo '  (--mflags) echo $(MFLAGS) $(CONFIG_TOOL_COMPILE_FLAGS);;' >>$(CONFIG_TOOL_FILE) 
    680711   @echo '  (--mmflags) echo $(MMFLAGS) $(CONFIG_TOOL_COMPILE_FLAGS);;' >>$(CONFIG_TOOL_FILE) 
     
    693724   @echo "LDLIBS: $(LDLIBS)" 
    694725   @echo "OUTPUT_LIB: $(OUTPUT_LIB)"    
     726   @echo "LIB_DIRS: $(LIB_DIRS)" 
    695727   @echo "LIB_INCLUDE_DIR: $(LIB_INCLUDE_DIR)" 
    696728   @echo "LIB_SRC_DIR: $(LIB_SRC_DIR)" 
     
    721753   @echo "NATIVE_LDLIBS: $(NATIVE_LDLIBS)" 
    722754   @echo "NATIVE_OUTPUT_LIB: $(NATIVE_OUTPUT_LIB)" 
     755   @echo "NATIVE_LIB_SRC_DIR: $(NATIVE_LIB_SRC_DIR)" 
     756   @echo "NATIVE_LIB_TOOLS_DIR: $(NATIVE_LIB_TOOLS_DIR)" 
    723757endif 
    724758