Tweak Makefiles a bit to allow cross compiling Rockbox Utility.
- pass AR to the lib Makefiles to make sure the correct one gets used. - create an archive index for archives. - simplify ucl Makefile a bit. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28883 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
7f6c271bad
commit
e1b1183f40
6 changed files with 24 additions and 24 deletions
|
@ -60,7 +60,7 @@ $(OBJDIR)%.o: %.c
|
|||
|
||||
libmkamsboot$(RBARCH).a: $(LIBOBJS)
|
||||
@echo AR $@
|
||||
$(SILENT)$(AR) ruc $(TARGET_DIR)$@ $^
|
||||
$(SILENT)$(AR) rucs $(TARGET_DIR)$@ $^
|
||||
|
||||
# building the standalone executable
|
||||
$(OUTPUT): $(OBJS) $(EXTRADEPS)
|
||||
|
|
|
@ -54,7 +54,7 @@ $(OBJDIR)%.o: %.c
|
|||
|
||||
libmkmpioboot$(RBARCH).a: $(LIBOBJS)
|
||||
@echo AR $@
|
||||
$(SILENT)$(AR) ruc $(TARGET_DIR)$@ $^
|
||||
$(SILENT)$(AR) rucs $(TARGET_DIR)$@ $^
|
||||
|
||||
# building the standalone executable
|
||||
$(OUTPUT): $(OBJS) $(EXTRADEPS)
|
||||
|
|
|
@ -56,7 +56,7 @@ $(OUT)/%.o: %.c $(OUT)
|
|||
|
||||
libmktccboot$(RBARCH).a: $(LIBOBJS)
|
||||
@echo AR $@
|
||||
$(SILENT)$(AR) ruc $(TARGET_DIR)$@ $^
|
||||
$(SILENT)$(AR) rucs $(TARGET_DIR)$@ $^
|
||||
|
||||
# building the standalone executable
|
||||
$(OUTPUT): $(OBJS) $(EXTRADEPS)
|
||||
|
|
|
@ -64,30 +64,35 @@ mac {
|
|||
!static:unix:!mac {
|
||||
LIBSPEEX = $$system(pkg-config --silence-errors --libs speex speexdsp)
|
||||
}
|
||||
# The external Makefiles use ar to create libs. To allow cross-compiling pass
|
||||
# the ar that matches the current gcc. Since qmake doesn't provide a variable
|
||||
# holding the correct ar without any additions we need to figure it ourselves
|
||||
# here. This assumes that QMAKE_CC will always be "gcc", maybe with a postfix.
|
||||
MYAR = $$replace(QMAKE_CC,gcc.*,ar)
|
||||
|
||||
rbspeex.commands = @$(MAKE) \
|
||||
TARGET_DIR=$$MYBUILDDIR -C $$RBBASE_DIR/tools/rbspeex \
|
||||
librbspeex$$RBLIBPOSTFIX \
|
||||
CC=\"$$QMAKE_CC\" \
|
||||
SYS_SPEEX=\"$$LIBSPEEX\"
|
||||
SYS_SPEEX=\"$$LIBSPEEX\" \
|
||||
CC=\"$$QMAKE_CC\" AR=\"$$MYAR\"
|
||||
libucl.commands = @$(MAKE) \
|
||||
TARGET_DIR=$$MYBUILDDIR -C $$RBBASE_DIR/tools/ucl/src \
|
||||
libucl$$RBLIBPOSTFIX \
|
||||
CC=\"$$QMAKE_CC\"
|
||||
CC=\"$$QMAKE_CC\" AR=\"$$MYAR\"
|
||||
libmkamsboot.commands = @$(MAKE) \
|
||||
TARGET_DIR=$$MYBUILDDIR -C $$RBBASE_DIR/rbutil/mkamsboot \
|
||||
APPVERSION=\"rbutil\" \
|
||||
libmkamsboot$$RBLIBPOSTFIX \
|
||||
CC=\"$$QMAKE_CC\"
|
||||
CC=\"$$QMAKE_CC\" AR=\"$$MYAR\"
|
||||
libmktccboot.commands = @$(MAKE) \
|
||||
TARGET_DIR=$$MYBUILDDIR -C $$RBBASE_DIR/rbutil/mktccboot \
|
||||
libmktccboot$$RBLIBPOSTFIX \
|
||||
CC=\"$$QMAKE_CC\"
|
||||
CC=\"$$QMAKE_CC\" AR=\"$$MYAR\"
|
||||
libmkmpioboot.commands = @$(MAKE) \
|
||||
TARGET_DIR=$$MYBUILDDIR -C $$RBBASE_DIR/rbutil/mkmpioboot \
|
||||
APPVERSION=\"rbutil\" \
|
||||
libmkmpioboot$$RBLIBPOSTFIX \
|
||||
CC=\"$$QMAKE_CC\"
|
||||
CC=\"$$QMAKE_CC\" AR=\"$$MYAR\"
|
||||
QMAKE_EXTRA_TARGETS += rbspeex libucl libmkamsboot libmktccboot libmkmpioboot
|
||||
PRE_TARGETDEPS += rbspeex libucl libmkamsboot libmktccboot libmkmpioboot
|
||||
|
||||
|
@ -111,7 +116,7 @@ INCLUDEPATH += $$RBBASE_DIR/rbutil/ipodpatcher $$RBBASE_DIR/rbutil/sansapatcher
|
|||
|
||||
DEPENDPATH = $$INCLUDEPATH
|
||||
|
||||
LIBS += -L$$OUT_PWD -L$$MYBUILDDIR -lrbspeex -lmkamsboot -lmktccboot -lmkmpioboot -lucl
|
||||
LIBS += -L$$OUT_PWD -L$$MYBUILDDIR -lrbspeex -lmkamsboot -lmktccboot -lmkmpioboot -lucl -lz
|
||||
|
||||
# Add a (possibly found) libspeex now, don't do this before -lrbspeex!
|
||||
!static:!isEmpty(LIBSPEEX) {
|
||||
|
@ -152,10 +157,6 @@ unix:!static:libusb1:!macx {
|
|||
DEFINES += LIBUSB1
|
||||
LIBS += -lusb-1.0
|
||||
}
|
||||
unix {
|
||||
# explicitly link zlib, we do need it. Don't rely on implicit linking via Qt.
|
||||
LIBS += -lz
|
||||
}
|
||||
|
||||
unix:!macx:static {
|
||||
# force statically linking of libusb. Libraries that are appended
|
||||
|
@ -177,7 +178,7 @@ macx:intel {
|
|||
}
|
||||
macx {
|
||||
CONFIG += x86
|
||||
LIBS += -L/usr/local/lib -lz \
|
||||
LIBS += -L/usr/local/lib \
|
||||
-framework IOKit -framework CoreFoundation -framework Carbon \
|
||||
-framework SystemConfiguration -framework CoreServices
|
||||
INCLUDEPATH += /usr/local/include
|
||||
|
|
|
@ -72,7 +72,7 @@ $(DEPFILE): $(SOURCES)
|
|||
|
||||
$(OUT)/librbspeex.a: $(OBJS) $(DEPFILE) $(OUT)/rbspeex.o
|
||||
@echo AR $(OUT)/librbspeex$(RBARCH).a
|
||||
$(SILENT)$(AR) ruv $@ $+ > /dev/null 2>&1
|
||||
$(SILENT)$(AR) rucs $@ $+ > /dev/null 2>&1
|
||||
|
||||
librbspeex$(RBARCH).a: $(OUT)/librbspeex.a
|
||||
$(SILENT)cp $(OUT)/librbspeex.a $(TARGET_DIR)librbspeex$(RBARCH).a
|
||||
|
|
|
@ -21,17 +21,16 @@ OUT = $(TARGET_DIR)build$(RBARCH)
|
|||
|
||||
SOURCES = alloc.c io.c n2b_99.c n2b_d.c n2b_ds.c n2b_to.c n2d_99.c \
|
||||
n2d_d.c n2d_ds.c n2d_to.c n2e_99.c n2e_d.c n2e_ds.c n2e_to.c ucl_crc.c \
|
||||
ucl_dll.c ucl_init.c ucl_ptr.c ucl_str.c ucl_util.c
|
||||
ucl_init.c ucl_ptr.c ucl_str.c ucl_util.c #ucl_dll.c
|
||||
|
||||
OBJS = $(OUT)/alloc.o $(OUT)/io.o $(OUT)/n2b_99.o $(OUT)/n2b_d.o $(OUT)/n2b_ds.o $(OUT)/n2b_to.o $(OUT)/n2d_99.o \
|
||||
$(OUT)/n2d_d.o $(OUT)/n2d_ds.o $(OUT)/n2d_to.o $(OUT)/n2e_99.o $(OUT)/n2e_d.o $(OUT)/n2e_ds.o $(OUT)/n2e_to.o $(OUT)/ucl_crc.o \
|
||||
$(OUT)/ucl_dll.o $(OUT)/ucl_init.o $(OUT)/ucl_ptr.o $(OUT)/ucl_str.o $(OUT)/ucl_util.o
|
||||
OBJS = $(addprefix $(OUT)/,$(SOURCES:%.c=%.o))
|
||||
|
||||
# This Makefile is _not_ used to build uclpack for Rockbox builds anymore (they
|
||||
# use tools.make), so we can use $(CC) and $(AR) here.
|
||||
|
||||
# we don't use $(AR) and $(RANLIB) below since we want the _native_ tools
|
||||
# not the cross-compiler tools
|
||||
libucl$(RBARCH).a: $(OUT) $(OBJS)
|
||||
$(SILENT)ar ruv $(TARGET_DIR)$@ $(OBJS) >/dev/null 2>&1
|
||||
$(SILENT)ranlib $(TARGET_DIR)$@
|
||||
@echo AR $@
|
||||
$(SILENT)$(AR) rucs $(TARGET_DIR)$@ $(OBJS) >/dev/null 2>&1
|
||||
|
||||
$(OUT)/%.o: %.c
|
||||
@echo CC $<
|
||||
|
|
Loading…
Reference in a new issue