Changeset 80 for trunk/libjdkmidi/trunk
- Timestamp:
- 08/08/06 18:25:54 (2 years ago)
- Location:
- trunk/libjdkmidi/trunk
- Files:
-
- 1 added
- 4 modified
-
configure (modified) (1 diff)
-
magic.mak (modified) (26 diffs)
-
project.mak (modified) (1 diff)
-
project.sh (added)
-
tests/jdkmidi_test_drvwin32.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/libjdkmidi/trunk/configure
r79 r80 1 1 #! /bin/bash 2 2 3 # package info 3 relative_dir="$(dirname "$0")" 4 4 5 magic_PACKAGE_NAME=${PACKAGE_NAME:-pkg} 6 magic_PACKAGE_VERSION=-$(date +%Y%m%d) 7 magic_PACKAGE_STRING= 8 magic_PACKAGE_BUGREPORT= 9 magic_PACKAGE_TARNAME= 5 # load project specific definitions 6 7 source "${relative_dir}/project.sh" 8 9 10 # parse all long options and set them as variables, allowing command line to override everything 11 12 for i in "$@" 13 do 14 p=$(echo "$i" | sed -E 's/^\-\-(.*)=(.*)/\1="\2"/') 15 eval $p 16 done 17 18 # setup all defaults: 10 19 11 20 # directories 12 21 13 relative_dir="$(dirname "$0")"14 22 magic_PROJECT_TOP_DIR="${PWD}/${relative_dir}" 15 #magic_PREFIX="/usr/local" 16 magic_PREFIX=${PREFIX:-${PWD}/install} 17 magic_INSTALL_DIR=${magic_PREFIX} 23 magic_PREFIX="${prefix:-${PWD}/install}" 24 magic_INSTALL_DIR="${magic_PREFIX}" 18 25 19 26 # additional tool specifications 20 magic_DOXYGEN= ${DOXYGEN}21 magic_CP=${ CP:-cp}22 magic_LN=${ LN:-ln}23 magic_RM=${ RM:-rm}24 magic_MKDIRS= ${MKDIRS:-mkdir}25 magic_MKDIR= ${MKDIR:-mkdir}26 magic_VALGRIND= ${VALGRIND:-valgrind}27 magic_VALGRIND_OPTIONS= ${VALGRIND_OPTIONS}28 magic_MAKEFLAGS= ${MAKEFLAGS}29 magic_INSTALL= ${INSTALL:-install}27 magic_DOXYGEN="${doxygen}" 28 magic_CP=${cp:-cp} 29 magic_LN=${ln:-ln} 30 magic_RM=${rm:-rm} 31 magic_MKDIRS="${mkdirs:-mkdir}" 32 magic_MKDIR="${mkdir:-mkdir}" 33 magic_VALGRIND="${valgrind:-valgrind}" 34 magic_VALGRIND_OPTIONS="${valgrind_options}" 35 magic_MAKEFLAGS="${makeflags}" 36 magic_INSTALL="${install:-install}" 30 37 31 38 # Target platform definitions 32 39 33 magic_TARGET_PLATFORM_GENERIC= ${TARGET_PLATFORM_GENERIC}34 magic_TARGET_PLATFORM_MINGW32= ${TARGET_PLATFORM_MINGW32}35 magic_TARGET_PLATFORM_CYGWIN= ${TARGET_PLATFORM_CYGWIN}36 magic_TARGET_PLATFORM_LINUX= ${TARGET_PLATFORM_LINUX}37 magic_TARGET_PLATFORM_MACOSX_PPC= ${TARGET_PLATFORM_MACOSX_PPC}38 magic_TARGET_PLATFORM_MACOSX_I386= ${TARGET_PLATFORM_MACOSX_I386}39 magic_TARGET_PLATFORM_MACOSX_UNIVERSAL= ${TARGET_PLATFORM_MACOSX_UNIVERSAL}40 magic_TARGET_USE_AR= ${TARGET_USE_AR:-1}41 magic_TARGET_USE_MACOSX_LIBTOOL= ${TARGET_USE_MACOSX_LIBTOOL:-0}40 magic_TARGET_PLATFORM_GENERIC="${target_platform_generic}" 41 magic_TARGET_PLATFORM_MINGW32="${target_platform_mingw32}" 42 magic_TARGET_PLATFORM_CYGWIN="${target_platform_cygwin}" 43 magic_TARGET_PLATFORM_LINUX="${target_platform_linux}" 44 magic_TARGET_PLATFORM_MACOSX_PPC="${target_platform_macosx_ppc}" 45 magic_TARGET_PLATFORM_MACOSX_I386="${target_platform_macosx_i386}" 46 magic_TARGET_PLATFORM_MACOSX_UNIVERSAL="${target_platform_macosx_universal}" 47 magic_TARGET_USE_AR="${target_use_ar:-1}" 48 magic_TARGET_USE_MACOSX_LIBTOOL="${target_use_macosx_libtool:-0}" 42 49 43 magic_TARGET_MACOSX_SDK= ${TARGET_MACOSX_SDK:-/Developer/SDKs/MacOSX10.4u.sdk}50 magic_TARGET_MACOSX_SDK="${target_macosx_sdk:-/Developer/SDKs/MacOSX10.4u.sdk}" 44 51 45 52 # Target compile options 46 53 47 magic_DEBUG= ${DEBUG}48 magic_PROFILE= ${PROFILE}49 magic_OPTIMIZE= ${OPTIMIZE}50 magic_WARNINGS= ${WARNINGS}51 magic_AUTODEPEND= ${AUTODEPEND}52 magic_DEFINES= ${DEFINES}54 magic_DEBUG="${debug}" 55 magic_PROFILE="${profile}" 56 magic_OPTIMIZE="${optimize}" 57 magic_WARNINGS="${warnings}" 58 magic_AUTODEPEND="${autodepend}" 59 magic_DEFINES="${defines}" 53 60 54 61 # Target compiler specifications 55 magic_CC=${CC:-${COMPILER_PREFIX}gcc} 56 magic_CXX=${CXX:-${COMPILER_PREFIX}g++} 57 magic_NM=${NM:-${COMPILER_PREFIX}nm} 58 magic_AR=${AR:-${COMPILER_PREFIX}ar} 59 magic_RANLIB=${RANLIB:-${COMPILER_PREFIX}ranlib} 60 magic_LD=${LD:-${COMPILER_PREFIX}g++} 61 magic_AS=${AS:-${COMPILER_PREFIX}as} 62 magic_STRIP=${STRIP:-${COMPILER_PREFIX}strip} 63 magic_STRINGS=${STRINGS:-${COMPILER_PREFIX}strings} 64 magic_WINDRES=${WINDRES:-${COMPILER_PREFIX}windres} 65 magic_OBJDUMP=${OBJDUMP:-${COMPILER_PREFIX}objdump} 66 magic_DLLTOOL=${DLLTOOL:-${COMPILER_PREFIX}dlltool} 67 magic_DLLWRAP=${DLLWRAP:-${COMPILER_PREFIX}dllwrap} 68 magic_LDFLAGS=${LDFLAGS} 69 magic_CXXFLAGS=${CXXFLAGS} 70 magic_CFLAGS=${CFLAGS} 71 magic_MFLAGS=${MFLAGS} 72 magic_MMFLAGS=${MMFLAGS} 73 magic_LDLIBS=${LDLIBS} 62 magic_CC="${cc:-${compiler_prefix}gcc}" 63 magic_CXX="${cxx:-${compiler_prefix}g++}" 64 magic_NM="${nm:-${compiler_prefix}nm}" 65 magic_AR="${ar:-${compiler_prefix}ar}" 66 magic_RANLIB="${ranlib:-${compiler_prefix}ranlib}" 67 magic_LD="${ld:-${compiler_prefix}ld}" 68 magic_AS="${as:-${compiler_prefix}as}" 69 magic_STRIP="${strip:-${compiler_prefix}strip}" 70 magic_STRINGS="${strings:-${compiler_prefix}strings}" 71 magic_WINDRES="${windres:-${compiler_prefix}windres}" 72 magic_OBJDUMP="${objdump:-${compiler_prefix}objdump}" 73 magic_DLLTOOL="${dlltool:-${compiler_prefix}dlltool}" 74 magic_DLLWRAP="${dllwrap:-${compiler_prefix}dllwrap}" 75 magic_LDFLAGS="${ldflags}" 76 magic_CXXFLAGS="${cxxflags}" 77 magic_CFLAGS="${cflags}" 78 magic_MFLAGS="${mflags}" 79 magic_MMFLAGS="${mmflags}" 80 magic_LDLIBS="${ldlibs}" 81 82 # Host platform specifications 83 84 magic_HOST_PLATFORM_GENERIC="${host_platform_generic}" 85 magic_HOST_PLATFORM_MINGW32="${host_platform_mingw32}" 86 magic_HOST_PLATFORM_CYGWIN="${host_platform_cygwin}" 87 magic_HOST_PLATFORM_LINUX="${host_platform_linux}" 88 magic_HOST_PLATFORM_MACOSX_PPC="${host_platform_macosx_ppc}" 89 magic_HOST_PLATFORM_MACOSX_I386="${host_platform_macosx_i386}" 90 magic_HOST_PLATFORM_MACOSX_UNIVERSAL="${host_platform_macosx_universal}" 91 magic_HOST_USE_AR="${host_use_ar:-1}" 92 magic_HOST_USE_MACOSX_LIBTOOL="${host_use_macosx_libtool:-0}" 93 magic_HOST_MACOSX_SDK="${host_macosx_sdk:-/Developer/SDKs/MacOSX10.4u.sdk}" 74 94 75 95 # Native compiler specifications 76 96 77 magic_NATIVE_CC=${CC:-${NATIVE_COMPILER_PREFIX}gcc} 78 magic_NATIVE_CXX=${CXX:-${NATIVE_COMPILER_PREFIX}g++} 79 magic_NATIVE_NM=${NM:-${NATIVE_COMPILER_PREFIX}nm} 80 magic_NATIVE_AR=${AR:-${NATIVE_COMPILER_PREFIX}ar} 81 magic_NATIVE_RANLIB=${RANLIB:-${NATIVE_COMPILER_PREFIX}ranlib} 82 magic_NATIVE_LD=${LD:-${NATIVE_COMPILER_PREFIX}g++} 83 magic_NATIVE_AS=${AS:-${NATIVE_COMPILER_PREFIX}as} 84 magic_NATIVE_STRIP=${STRIP:-${NATIVE_COMPILER_PREFIX}strip} 85 magic_NATIVE_STRINGS=${STRINGS:-${NATIVE_COMPILER_PREFIX}strings} 86 magic_NATIVE_WINDRES=${WINDRES:-${NATIVE_COMPILER_PREFIX}windres} 87 magic_NATIVE_OBJDUMP=${OBJDUMP:-${NATIVE_COMPILER_PREFIX}objdump} 88 magic_NATIVE_DLLTOOL=${DLLTOOL:-${NATIVE_COMPILER_PREFIX}dlltool} 89 magic_NATIVE_DLLWRAP=${DLLWRAP:-${NATIVE_COMPILER_PREFIX}dllwrap} 90 magic_NATIVE_LDFLAGS=${NATIVE_LDFLAGS} 91 magic_NATIVE_CXXFLAGS=${NATIVE_CXXFLAGS} 92 magic_NATIVE_MFLAGS=${NATIVE_MFLAGS} 93 magic_NATIVE_MMFLAGS=${NATIVE_MMFLAGS} 94 magic_NATIVE_CFLAGS=${NATIVE_CFLAGS} 95 magic_NATIVE_LDLIBS=${NATIVE_LDLIBS} 96 magic_NATIVE_DEBUG=${NATIVE_DEBUG} 97 magic_NATIVE_PROFILE=${NATIVE_PROFILE} 97 magic_CROSS_COMPILING="${cross_compiling:-0}" 98 magic_NATIVE_CC="${cc:-${native_compiler_prefix}gcc}" 99 magic_NATIVE_CXX="${cxx:-${native_compiler_prefix}g++}" 100 magic_NATIVE_NM="${nm:-${native_compiler_prefix}nm}" 101 magic_NATIVE_AR="${ar:-${native_compiler_prefix}ar}" 102 magic_NATIVE_RANLIB="${ranlib:-${native_compiler_prefix}ranlib}" 103 magic_NATIVE_LD="${LD:-${native_compiler_prefix}g++}" 104 magic_NATIVE_AS="${AS:-${native_compiler_prefix}as}" 105 magic_NATIVE_STRIP="${strip:-${native_compiler_prefix}strip}" 106 magic_NATIVE_STRINGS="${strings:-${native_compiler_prefix}strings}" 107 magic_NATIVE_WINDRES="${windres:-${native_compiler_prefix}windres}" 108 magic_NATIVE_OBJDUMP="${objdump:-${native_compiler_prefix}objdump}" 109 magic_NATIVE_DLLTOOL="${dlltool:-${native_compiler_prefix}dlltool}" 110 magic_NATIVE_DLLWRAP="${dllwrap:-${native_compiler_prefix}dllwrap}" 111 magic_NATIVE_LDFLAGS="${native_ldflags}" 112 magic_NATIVE_CXXFLAGS="${native_cxxflags}" 113 magic_NATIVE_MFLAGS="${native_mflags}" 114 magic_NATIVE_MMFLAGS="${native_mmflags}" 115 magic_NATIVE_CFLAGS="${native_cflags}" 116 magic_NATIVE_LDLIBS="${native_ldlibs}" 117 magic_NATIVE_DEBUG="${native_debug}" 118 magic_NATIVE_PROFILE="${native_profile}" 98 119 99 120 100 set | grep magic_ | sed -E 's/^magic_(.*)=(.*)/\1= ${\1:-\2}/' >vars.sh121 set | grep magic_ | sed -E 's/^magic_(.*)=(.*)/\1="${\1:-\2}"/' >vars.sh 101 122 102 set | grep magic_ | sed -E 's/^magic_(.*)=(.*)/\1 ?=\2/' >Makefile103 echo 'include $ {PROJECT_TOP_DIR}/project.mak' >>Makefile104 echo 'include $ {PROJECT_TOP_DIR}/magic.mak' >>Makefile123 set | grep magic_ | sed -E 's/^magic_(.*)=(.*)/\1=\2/' >Makefile 124 echo 'include $(PROJECT_TOP_DIR)/project.mak' >>Makefile 125 echo 'include $(PROJECT_TOP_DIR)/magic.mak' >>Makefile 105 126 127 echo "$0 $@" >./reconfigure 128 chmod +x ./reconfigure 129 130 echo "./Makefile ./vars.sh and ./reconfigure created." 131 echo "Now you may do:" 132 echo " make compile_info" 133 echo " make help" 134 echo " make" 135 echo " make install" 136 echo " make install-dev" -
trunk/libjdkmidi/trunk/magic.mak
r79 r80 3 3 # Simplifies the building of a c/c++ library, it's tests, tools, examples, and documentation. 4 4 # 5 # You must set the following make vars:6 # TOP - the top non-relative directory of the project7 # PROJECT - the project name8 # LDLIBS - libraries to link9 # OUTPUT_LIB - the output library name10 # INCLUDES - the list of additional include directories11 # DEFINES - the list of additional defines12 #13 #14 # You can set the following variables but they default to reasonable values:15 5 16 6 PROJECT?=project … … 18 8 PROJECT_VERSION?=$(shell date +%Y%m%d) 19 9 10 CROSS_COMPILING?=0 11 20 12 LIBS+= 21 13 LIB_DIRS+=$(addprefix $(PROJECT_TOP_DIR)/,$(LIBS)) 14 22 15 TARGET_PLATFORM_GENERIC=1 23 24 16 TARGET_PLATFORM_MINGW32?=0 25 17 TARGET_PLATFORM_CYGWIN?=0 … … 31 23 TARGET_USE_MACOSX_LIBTOOL?=0 32 24 25 33 26 ifeq ($(TARGET_PLATFORM_MINGW32),1) 34 27 DEFINES+=TARGET_PLATFORM_MINGW32=1 … … 36 29 EXE=.exe 37 30 PLATFORM_DIRS+=win32 mingw32 31 LDLIBS+=$(LDLIBS_MINGW32) 32 DEFINES+=$(DEFINES_MINGW32) 38 33 endif 39 34 … … 43 38 EXE=.exe 44 39 PLATFORM_DIRS+=posix cygwin 40 LDLIBS+=$(LDLIBS_CYGWIN) 41 DEFINES+=$(DEFINES_CYGWIN) $(DEFINES_POSIX) 45 42 endif 46 43 … … 49 46 TARGET_PLATFORM_GENERIC=0 50 47 PLATFORM_DIRS+=posix linux 48 LDLIBS+=$(LDLIBS_LINUX) 49 DEFINES+=$(DEFINES_LINUX) $(DEFINES_POSIX) 51 50 endif 52 51 … … 60 59 MACOSX_LIBTOOL=libtool 61 60 MACOSX_LIBTOOLFLAGS?=-static 61 LDLIBS+=$(LDLIBS_MACOSX_PPC) $(LDLIBS_MACOSX) 62 DEFINES+=$(DEFINES_MACOSX_PPC) $(DEFINES_POSIX) $(DEFINES_MACOSX) 62 63 endif 63 64 … … 71 72 MACOSX_LIBTOOL=libtool 72 73 MACOSX_LIBTOOLFLAGS?=-static 74 LDLIBS+=$(LDLIBS_MACOSX_I386) $(LDLIBS_MACOSX) 75 DEFINES+=$(DEFINES_MACOSX_I386) $(DEFINES_POSIX) $(DEFINES_MACOSX) 73 76 endif 74 77 … … 86 89 MACOSX_LIBTOOL=libtool 87 90 MACOSX_LIBTOOLFLAGS?=-static 88 endif 89 90 91 LDLIBS+=$(LDLIBS_MACOSX_UNIVERSAL) $(LDLIBS_MACOSX) 92 DEFINES+=$(DEFINES_MACOSX_UNIVERSAL) $(DEFINES_POSIX) $(DEFINES_MACOSX) 93 endif 94 95 ifeq ($(CROSS_COMPILING),1) 96 HOST_PLATFORM_GENERIC=1 97 HOST_PLATFORM_MINGW32?=0 98 HOST_PLATFORM_CYGWIN?=0 99 HOST_PLATFORM_LINUX?=0 100 HOST_PLATFORM_MACOSX_PPC?=0 101 HOST_PLATFORM_MACOSX_I386?=0 102 HOST_PLATFORM_MACOSX_UNIVERSAL?=0 103 HOST_USE_AR?=1 104 HOST_USE_MACOSX_LIBTOOL?=0 105 106 NATIVE_COMPILE.cpp=$(NATIVE_CXX) $(NATIVE_CXXFLAGS) -c 107 NATIVE_COMPILE.c=$(NATIVE_CC) $(NATIVE_CFLAGS) -c 108 NATIVE_COMPILE.mm=$(NATIVE_CXX) $(NATIVE_MMFLAGS) -c 109 NATIVE_COMPILE.m=$(NATIVE_CC) $(NATIVE_MFLAGS) -c 110 111 NATIVE_LINK.cpp=$(NATIVE_CXX) $(NATIVE_CXXFLAGS) $(NATIVE_LDFLAGS) $(NATIVE_LDLIBS) 112 NATIVE_LINK.c=$(NATIVE_CC) $(NATIVE_CFLAGS) $(NATIVE_LDFLAGS) $(NATIVE_LDLIBS) 113 NATIVE_LINK.mm=$(NATIVE_CXX) $(NATIVE_MMFLAGS) $(NATIVE_LDFLAGS) $(NATIVE_LDLIBS) 114 NATIVE_LINK.m=$(NATIVE_CC) $(NATIVE_MFLAGS) $(NATIVE_LDFLAGS) $(NATIVE_LDLIBS) 115 116 117 ifeq ($(HOST_PLATFORM_MINGW32),1) 118 NATIVE_DEFINES+=HOST_PLATFORM_MINGW32=1 119 HOST_PLATFORM_GENERIC=0 120 NATIVE_EXE=.exe 121 NATIVE_PLATFORM_DIRS+=win32 mingw32 122 NATIVE_LDLIBS+=$(LDLIBS_MINGW32) 123 NATIVE_DEFINES+=$(DEFINES_MINGW32) 124 endif 125 126 ifeq ($(HOST_PLATFORM_CYGWIN),1) 127 NATIVE_DEFINES+=HOST_PLATFORM_CYGWIN=1 128 HOST_PLATFORM_GENERIC=0 129 NATIVE_EXE=.exe 130 PLATFORM_DIRS+=posix cygwin 131 NATIVE_LDLIBS+=$(LDLIBS_CYGWIN) 132 NATIVE_DEFINES+=$(DEFINES_CYGWIN) $(DEFINES_POSIX) 133 endif 134 135 ifeq ($(HOST_PLATFORM_LINUX),1) 136 NATIVE_DEFINES+=HOST_PLATFORM_LINUX=1 137 HOST_PLATFORM_GENERIC=0 138 NATIVE_PLATFORM_DIRS+=posix linux 139 NATIVE_LDLIBS+=$(LDLIBS_LINUX) 140 NATIVE_DEFINES+=$(DEFINES_LINUX) $(DEFINES_POSIX) 141 endif 142 143 ifeq ($(HOST_PLATFORM_MACOSX_PPC),1) 144 NATIVE_DEFINES+=HOST_PLATFORM_MACOSX=1 145 HOST_PLATFORM_GENERIC=0 146 HOST_PLATFORM_MACOSX=1 147 NATIVE_PLATFORM_DIRS=macosx posix macosx-ppc 148 HOST_USE_AR=0 149 HOST_USE_MACOSX_LIBTOOL=1 150 NATIVE_MACOSX_LIBTOOL=libtool 151 NATIVE_MACOSX_LIBTOOLFLAGS?=-static 152 NATIVE_LDLIBS+=$(LDLIBS_MACOSX_PPC) $(LDLIBS_MACOSX) 153 NATIVE_DEFINES+=$(DEFINES_MACOSX_PPC) $(DEFINES_POSIX) $(DEFINES_MACOSX) 154 endif 155 156 ifeq ($(HOST_PLATFORM_MACOSX_I386),1) 157 DEFINES+=HOST_PLATFORM_MACOSX=1 158 HOST_PLATFORM_GENERIC=0 159 HOST_PLATFORM_MACOSX=1 160 NATIVE_PLATFORM_DIRS=macosx posix macosx-i386 161 HOST_USE_AR=0 162 HOST_USE_MACOSX_LIBTOOL=1 163 NATIVE_MACOSX_LIBTOOL=libtool 164 NATIVE_MACOSX_LIBTOOLFLAGS?=-static 165 NATIVE_LDLIBS+=$(LDLIBS_MACOSX_I386) $(LDLIBS_MACOSX) 166 NATIVE_DEFINES+=$(DEFINES_MACOSX_I386) $(DEFINES_POSIX) $(DEFINES_MACOSX) 167 endif 168 169 ifeq ($(HOST_PLATFORM_MACOSX_UNIVERSAL),1) 170 DEFINES+=HOST_PLATFORM_MACOSX=1 171 HOST_PLATFORM_GENERIC=0 172 HOST_PLATFORM_MACOSX=1 173 NATIVE_PLATFORM_DIRS=macosx posix macosx-ppc macosx-i386 174 AUTODEPEND=0 175 HOST_MACOSX_SDK?=/Developer/SDKs/MacOSX10.4u.sdk 176 NATIVE_COMPILE_FLAGS+=-isysroot $(HOST_MACOSX_SDK) -arch i386 -arch ppc 177 #NATIVE_LINK_FLAGS+=-Wl,-syslibroot,$(HOST_MACOSX_SDK) 178 HOST_USE_AR=0 179 HOST_USE_MACOSX_LIBTOOL=1 180 NATIVE_MACOSX_LIBTOOL=libtool 181 NATIVE_MACOSX_LIBTOOLFLAGS?=-static 182 NATIVE_LDLIBS+=$(LDLIBS_MACOSX_UNIVERSAL) $(LDLIBS_MACOSX) 183 NATIVE_DEFINES+=$(DEFINES_MACOSX_UNIVERSAL) $(DEFINES_POSIX) $(DEFINES_MACOSX) 184 endif 185 186 NATIVE_BUILD_DIR=$(PWD) 187 NATIVE_OUTPUT_DIR=$(NATIVE_BUILD_DIR)/native 188 NATIVE_OUTPUT_LIB_DIR?=$(NATIVE_OUTPUT_DIR)/lib 189 NATIVE_OUTPUT_TESTS_DIR?=$(NATIVE_OUTPUT_DIR)/tests 190 NATIVE_OUTPUT_DOCS_DIR?=$(NATIVE_OUTPUT_DIR)/docs 191 NATIVE_OUTPUT_TOOLS_DIR?=$(NATIVE_OUTPUT_DIR)/tools 192 NATIVE_OUTPUT_EXAMPLES_DIR?=$(NATIVE_OUTPUT_DIR)/examples 193 NATIVE_OUTPUT_OBJ_DIR?=$(NATIVE_OUTPUT_DIR)/obj 194 195 NATIVE_OUTPUT_LIB?=$(NATIVE_OUTPUT_LIB_DIR)/lib$(PROJECT).a 196 197 endif 91 198 92 199 LIB_INCLUDE_DIR+=$(addsuffix /include,$(LIB_DIRS)) … … 97 204 LIB_DOCS_DIR+=$(addsuffix /docs,$(LIB_DIRS)) 98 205 99 #BUILD_DIR=$(PROJECT_TOP_DIR)/build/$(PLATFORM)-$(ARCH) 100 BUILD_DIR=${PWD} 206 BUILD_DIR=$(PWD) 101 207 OUTPUT_DIR=$(BUILD_DIR)/build 102 208 OUTPUT_LIB_DIR?=$(OUTPUT_DIR)/lib … … 116 222 INSTALL_DOCS_DIR?=$(INSTALL_DIR)/share/$(PROJECT)-$(PROJECT_VERSION) 117 223 118 ALL_OUTPUT_DIRS=$(OUTPUT_LIB_DIR) $(OUTPUT_TOOLS_DIR) $(OUTPUT_TESTS_DIR) $(OUTPUT_DOCS_DIR) $(OUTPUT_EXAMPLES_DIR) $(OUTPUT_OBJ_DIR) 119 120 224 ifeq ($(CROSS_COMPILING),1) 225 NATIVE_ALL_OUTPUT_DIRS+=$(NATIVE_OUTPUT_LIB_DIR) $(NATIVE_OUTPUT_TOOLS_DIR) $(NATIVE_OUTPUT_TESTS_DIR) $(NATIVE_OUTPUT_DOCS_DIR) $(NATIVE_OUTPUT_EXAMPLES_DIR) $(NATIVE_OUTPUT_OBJ_DIR) 226 endif 227 228 ALL_OUTPUT_DIRS+=$(OUTPUT_LIB_DIR) $(OUTPUT_TOOLS_DIR) $(OUTPUT_TESTS_DIR) $(OUTPUT_DOCS_DIR) $(OUTPUT_EXAMPLES_DIR) $(OUTPUT_OBJ_DIR) 121 229 122 230 … … 132 240 vpath %.sh $(LIB_TESTS_DIR) 133 241 242 134 243 .PRECIOUS : $(OUTPUT_OBJ_DIR)/%.o 244 245 ifeq ($(CROSS_COMPILING),1) 246 vpath %.o $(NATIVE_OUTPUT_OBJ_DIR) 247 vpath %.a $(NATIVE_OUTPUT_LIB_DIR) 248 .PRECIOUS : $(NATIVE_OUTPUT_OBJ_DIR)/%.o 249 endif 135 250 136 251 # Remove make's built-in rules that we don't want … … 171 286 172 287 288 ifeq ($(CROSS_COMPILING),1) 289 290 $(NATIVE_OUTPUT_OBJ_DIR)/%.o $(NATIVE_OUTPUT_OBJ_DIR)/%.d : %.mm 291 @echo "NATIVE_CXX : $(notdir $<)" 292 @$(NATIVE_COMPILE.mm) -o $(NATIVE_OUTPUT_OBJ_DIR)/$*.o $< 293 294 $(NATIVE_OUTPUT_OBJ_DIR)/%.o $(NATIVE_OUTPUT_OBJ_DIR)/%.d : %.m 295 @echo "NATIVE_CC : $(notdir $<)" 296 @$(NATIVE_COMPILE.m) -o $(NATIVE_OUTPUT_OBJ_DIR)/$*.o $< 297 298 $(NATIVE_OUTPUT_OBJ_DIR)/%.o $(NATIVE_OUTPUT_OBJ_DIR)/%.d : %.cpp 299 @echo "NATIVE_CXX : $(notdir $<)" 300 @$(NATIVE_CXX) $(PREPROCESS_FLAGS) -MM -MF $(NATIVE_OUTPUT_OBJ_DIR)/$*.d $< && $(NATIVE_COMPILE.cpp) -o $(NATIVE_OUTPUT_OBJ_DIR)/$*.o $< 301 302 $(NATIVE_OUTPUT_OBJ_DIR)/%.o $(NATIVE_OUTPUT_OBJ_DIR)/%.d : %.c 303 @echo "NATIVE_CC : $(notdir $<)" 304 @$(NATIVE_CC) $(PREPROCESS_FLAGS) -MM -MF $(NATIVE_OUTPUT_OBJ_DIR)/$*.d $< && $(NATIVE_COMPILE.c) -o $(NATIVE_OUTPUT_OBJ_DIR)/$*.o $< 305 306 endif 307 173 308 $(OUTPUT_TOOLS_DIR)/%$(EXE) : $(OUTPUT_OBJ_DIR)/%.o 174 309 @echo "LINKING tool: $(notdir $<)" 175 @$(LINK.cpp) $(LDFLAGS) -o $(OUTPUT_TOOLS_DIR)/$*$(EXE) $< $(LDLIBS)310 @$(LINK.cpp) $(LDFLAGS) -o $(OUTPUT_TOOLS_DIR)/$*$(EXE) $< -L$(OUTPUT_LIB_DIR) -l$(PROJECT) $(LDLIBS) 176 311 177 312 $(OUTPUT_EXAMPLES_DIR)/%$(EXE) : $(OUTPUT_OBJ_DIR)/%.o 178 313 @echo "LINKING example: $(notdir $<)" 179 @$(LINK.cpp) $(LDFLAGS) -o $(OUTPUT_EXAMPLES_DIR)/$*$(EXE) $< $(LDLIBS)314 @$(LINK.cpp) $(LDFLAGS) -o $(OUTPUT_EXAMPLES_DIR)/$*$(EXE) $< -L$(OUTPUT_LIB_DIR) -l$(PROJECT) $(LDLIBS) 180 315 181 316 $(OUTPUT_TESTS_DIR)/%$(EXE) : $(OUTPUT_OBJ_DIR)/%.o 182 317 @echo "LINKING test: $(notdir $<)" 183 @$(LINK.cpp) $(LDFLAGS) -o $(OUTPUT_TESTS_DIR)/$*$(EXE) $< $(LDLIBS) 184 318 @$(LINK.cpp) $(LDFLAGS) -o $(OUTPUT_TESTS_DIR)/$*$(EXE) $< -L$(OUTPUT_LIB_DIR) -l$(PROJECT) $(LDLIBS) 319 320 321 ifeq ($(CROSS_COMPILING),1) 322 323 $(NATIVE_OUTPUT_TOOLS_DIR)/%$(NATIVE_EXE) : $(NATIVE_OUTPUT_OBJ_DIR)/%.o 324 @echo "NATIVE_LINKING tool: $(notdir $<)" 325 @$(NATIVE_LINK.cpp) $(NATIVE_LDFLAGS) -o $(NATIVE_OUTPUT_TOOLS_DIR)/$*$(NATIVE_EXE) $< -L$(NATIVE_OUTPUT_LIB_DIR) -l$(PROJECT) $(NATIVE_LDLIBS) 326 327 $(NATIVE_OUTPUT_EXAMPLES_DIR)/%$(NATIVE_EXE) : $(NATIVE_OUTPUT_OBJ_DIR)/%.o 328 @echo "NATIVE_LINKING example: $(notdir $<)" 329 @$(NATIVE_LINK.cpp) $(NATIVE_LDFLAGS) -o $(NATIVE_OUTPUT_EXAMPLES_DIR)/$*$(NATIVE_EXE) $< -L$(NATIVE_OUTPUT_LIB_DIR) -l$(PROJECT) $(NATIVE_LDLIBS) 330 331 $(NATIVE_OUTPUT_TESTS_DIR)/%$(NATIVE_EXE) : $(NATIVE_OUTPUT_OBJ_DIR)/%.o 332 @echo "NATIVE_LINKING test: $(notdir $<)" 333 @$(NATIVE_LINK.cpp) $(NATIVE_LDFLAGS) -o $(NATIVE_OUTPUT_TESTS_DIR)/$*$(NATIVE_EXE) $< -L$(NATIVE_OUTPUT_LIB_DIR) -l$(PROJECT) $(NATIVE_LDLIBS) 334 endif 185 335 186 336 ifeq ($(DEBUG),1) … … 188 338 endif 189 339 340 ifeq ($(NATIVE_DEBUG),1) 341 NATIVE_COMPILE_FLAGS+=-g 342 endif 343 190 344 ifeq ($(PROFILE),1) 191 345 COMPILE_FLAGS+=-pg 192 346 endif 193 347 348 ifeq ($(NATIVE_PROFILE),1) 349 NATIVE_COMPILE_FLAGS+=-pg 350 endif 351 352 194 353 195 354 INCLUDES+=$(LIB_INCLUDE_DIR) … … 197 356 198 357 PREPROCESS_FLAGS=$(addprefix -I,$(INCLUDES)) $(addprefix -D,$(DEFINES)) 358 NATIVE_PREPROCESS_FLAGS=$(addprefix -I,$(INCLUDES)) $(addprefix -D,$(NATIVE_DEFINES)) 199 359 200 360 COMPILE_FLAGS+=$(WARNINGS) $(OPTIMIZE) $(PREPROCESS_FLAGS) 361 NATIVE_COMPILE_FLAGS+=$(NATIVE_WARNINGS) $(NATIVE_OPTIMIZE) $(NATIVE_PREPROCESS_FLAGS) 201 362 202 363 CXXFLAGS+=$(COMPILE_FLAGS) … … 205 366 MMFLAGS+=$(COMPILE_FLAGS) 206 367 207 LDLIBS+= -L$(OUTPUT_LIB_DIR) -l$(PROJECT) 368 NATIVE_CXXFLAGS+=$(NATIVE_COMPILE_FLAGS) 369 NATIVE_CFLAGS+=$(NATIVE_COMPILE_FLAGS) 370 NATIVE_MFLAGS+=$(NATIVE_COMPILE_FLAGS) 371 NATIVE_MMFLAGS+=$(NATIVE_COMPILE_FLAGS) 372 373 LDLIBS+= 208 374 LDFLAGS+=$(LINK_FLAGS) 375 376 NATIVE_LDLIBS+= 377 NATIVE_LDFLAGS+=$(NATIVE_LINK_FLAGS) 209 378 210 379 # get the list of library source files from the ../src directory … … 214 383 LIB_MM_FILES=$(notdir $(foreach dir,$(LIB_SRC_DIR),$(wildcard $(dir)/*.mm))) 215 384 LIB_O_FILES=$(addprefix $(OUTPUT_OBJ_DIR)/,$(LIB_CPP_FILES:.cpp=.o)) $(addprefix $(OUTPUT_OBJ_DIR)/,$(LIB_C_FILES:.c=.o)) $(addprefix $(OUTPUT_OBJ_DIR)/,$(LIB_M_FILES:.m=.o)) $(addprefix $(OUTPUT_OBJ_DIR)/,$(LIB_MM_FILES:.mm=.o)) 385 386 ifeq ($(CROSS_COMPILING),1) 387 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)) 388 endif 216 389 217 390 LIB_INCLUDE_FILES=$(wildcard $(LIB_INCLUDE_DIR)/*.h) … … 224 397 LIB_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)) 225 398 LIB_TOOLS_EXE_FILES=$(addprefix $(OUTPUT_TOOLS_DIR)/,$(notdir $(LIB_TOOLS_O_FILES:.o=$(EXE)))) 399 ifeq ($(CROSS_COMPILING),1) 400 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)) 401 NATIVE_LIB_TOOLS_EXE_FILES=$(addprefix $(NATIVE_OUTPUT_TOOLS_DIR)/,$(notdir $(NATIVE_LIB_TOOLS_O_FILES:.o=$(NATIVE_EXE)))) 402 endif 226 403 227 404 # get the list of test program source files from the ../tests directory … … 234 411 235 412 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))) 413 ifeq ($(CROSS_COMPILING),1) 414 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)) 415 NATIVE_LIB_TESTS_EXE_FILES=$(addprefix $(NATIVE_OUTPUT_TESTS_DIR)/,$(notdir $(NATIVE_LIB_TESTS_O_FILES:.o=$(NATIVE_EXE)))) 416 NATIVE_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))) 417 endif 418 419 236 420 237 421 # get the list of example program source files from the ../examples directory … … 242 426 LIB_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)) 243 427 LIB_EXAMPLES_EXE_FILES=$(addprefix $(OUTPUT_EXAMPLES_DIR)/,$(notdir $(LIB_EXAMPLES_O_FILES:.o=$(EXE)))) 428 ifeq ($(CROSS_COMPILING),1) 429 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)) 430 NATIVE_LIB_EXAMPLES_EXE_FILES=$(addprefix $(NATIVE_OUTPUT_EXAMPLES_DIR)/,$(notdir $(NATIVE_LIB_EXAMPLES_O_FILES:.o=$(EXE)))) 431 endif 432 244 433 245 434 # manipulate these file lists to create our desired output files in the proper place … … 247 436 .PHONY : all 248 437 438 ifeq ($(CROSS_COMPILING),1) 439 all : native_dirs native_lib native_tools native_tests native_examples dirs lib tools tests examples 440 else 249 441 all : dirs lib tools tests examples 442 endif 443 250 444 251 445 .PHONY : dirs … … 253 447 dirs : 254 448 -@$(MKDIR) -p $(ALL_OUTPUT_DIRS) 255 256 449 257 450 … … 334 527 -$(RM) $(LIB_TESTS_O_FILES) $(LIB_EXAMPLES_O_FILES) $(LIB_TOOLS_O_FILES) $(LIB_O_FILES) $(OUTPUT_OBJ_DIR)/*.d 335 528 -$(RM) $(LIB_TESTS_EXE_FILES) $(LIB_EXAMPLES_EXE_FILES) $(LIB_TOOLS_EXE_FILES) 529 ifeq ($(CROSS_COMPILING),1) 530 -$(RM) $(NATIVE_LIB_TESTS_O_FILES) $(NATIVE_LIB_EXAMPLES_O_FILES) $(NATIVE_LIB_TOOLS_O_FILES) $(NATIVE_LIB_O_FILES) $(NATIVE_OUTPUT_OBJ_DIR)/*.d 531 -$(RM) $(NATIVE_LIB_TESTS_EXE_FILES) $(NATIVE_LIB_EXAMPLES_EXE_FILES) $(NATIVE_LIB_TOOLS_EXE_FILES) 532 endif 336 533 337 534 .PHONY : realclean … … 343 540 distclean : clean 344 541 -$(RM) $(OUTPUT_LIB) 345 find .. -name "*~" -print0 | xargs -0 $(RM) 542 ifeq ($(CROSS_COMPILING),1) 543 -$(RM) $(NATIVE_OUTPUT_LIB) 544 endif 545 546 547 ifeq ($(CROSS_COMPILING),1) 548 .PHONY : native_dirs 549 550 native_dirs : 551 -@$(MKDIR) -p $(NATIVE_ALL_OUTPUT_DIRS) 552 553 .PHONY : native_lib 554 555 native_lib : native_dirs $(NATIVE_OUTPUT_LIB) 556 557 $(NATIVE_OUTPUT_LIB) : $(NATIVE_LIB_O_FILES) 558 ifeq ($(HOST_USE_AR),1) 559 @echo "NATIVE_AR : $(notdir $@)($(notdir $?))" 560 @$(NATIVE_AR) $(NATIVE_ARFLAGS) $@ $? >/dev/null 561 @$(NATIVE_RANLIB) $@ 562 endif 563 ifeq ($(HOST_USE_MACOSX_LIBTOOL),1) 564 @echo "NATIVE_LIBTOOL: $(notdir $@)($(notdir $?))" 565 # @echo $(NATIVE_MACOSX_LIBTOOL) $(NATIVE_MACOSX_LIBTOOLFLAGS) -o $@ $^ 566 @$(NATIVE_MACOSX_LIBTOOL) $(NATIVE_MACOSX_LIBTOOLFLAGS) -o $@ $^ 567 endif 568 569 570 .PHONY : native_tools 571 572 native_tools : native_lib $(NATIVE_LIB_TOOLS_EXE_FILES) 573 574 .PHONY : native_examples 575 576 native_examples: native_lib $(NATIVE_LIB_EXAMPLES_EXE_FILES) 577 578 .PHONY : native_tests 579 580 native_tests: native_lib $(NATIVE_LIB_TESTS_EXE_FILES) 581 endif 346 582 347 583 .PHONY : compile_info … … 354 590 @echo "COMPILE_FLAGS: $(COMPILE_FLAGS)" 355 591 @echo "LINK_FLAGS: $(LINK_FLAGS)" 356 @echo "LD _LIBS: $(LDLIBS)"592 @echo "LDLIBS: $(LDLIBS)" 357 593 @echo "OUTPUT_LIB: $(OUTPUT_LIB)" 358 594 @echo "LIB_SRC_DIR: $(LIB_SRC_DIR)" … … 374 610 @echo "OUTPUT_OBJ_DIR: $(OUTPUT_OBJ_DIR)" 375 611 @echo "INSTALL_DIR: $(INSTALL_DIR)" 612 ifeq ($(CROSS_COMPILING),1) 613 @echo "NATIVE_CC : $(NATIVE_CC)" 614 @echo "NATIVE_CXX : $(NATIVE_CXX)" 615 @echo "NATIVE_AR : $(NATIVE_AR)" 616 @echo "NATIVE_RANLIB : $(NATIVE_RANLIB)" 617 @echo "NATIVE_COMPILE_FLAGS: $(NATIVE_COMPILE_FLAGS)" 618 @echo "NATIVE_LINK_FLAGS: $(NATIVE_LINK_FLAGS)" 619 @echo "NATIVE_LDLIBS: $(NATIVE_LDLIBS)" 620 @echo "NATIVE_OUTPUT_LIB: $(NATIVE_OUTPUT_LIB)" 621 endif 376 622 377 623 .PHONY : help -
trunk/libjdkmidi/trunk/project.mak
r79 r80 1 1 2 PROJECT=jdkmidi 2 3 PROJECT_NAME=libjdkmidi 3 4 PROJECT_VERSION=2.1 5 PROJECT_EMAIL='<jeffk@jdkoftinoff.com>' 6 PROJECT_LICENSE='GPL' 4 7 5 8 LIBS+=. 6 9 10 DEFINES_MINGW32+= 11 LDLIBS_MINGW32+=-lwinmm 12 13 DEFINES_CYGWIN+= 14 LDLIBS_CYGWIN+= 15 16 DEFINES_LINUX+= 17 LDLIBS_LINUX+= 18 19 DEFINES_MACOSX+= 20 LDLIBS_MACOSX+= 21 22 DEFINES_MACOSX_PPC+= 23 LDLIBS_MACOSX_PPC+= 24 25
