summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2010-12-23 18:59:58 +0000
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2010-12-23 18:59:58 +0000
commite1b1183f401974700a67db76f39e2bba9a5984e1 (patch)
tree95c145de01d23ebf4a77c8c69ef30eda8c6793f8
parent7f6c271badb6ff0620a978b876ea0bcea090a24c (diff)
downloadrockbox-e1b1183f401974700a67db76f39e2bba9a5984e1.tar.gz
rockbox-e1b1183f401974700a67db76f39e2bba9a5984e1.tar.bz2
rockbox-e1b1183f401974700a67db76f39e2bba9a5984e1.zip
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
-rw-r--r--rbutil/mkamsboot/Makefile2
-rw-r--r--rbutil/mkmpioboot/Makefile2
-rw-r--r--rbutil/mktccboot/Makefile2
-rw-r--r--rbutil/rbutilqt/rbutilqt.pro25
-rw-r--r--tools/rbspeex/Makefile2
-rw-r--r--tools/ucl/src/Makefile15
6 files changed, 24 insertions, 24 deletions
diff --git a/rbutil/mkamsboot/Makefile b/rbutil/mkamsboot/Makefile
index 0a9ab3b4e7..a76259794e 100644
--- a/rbutil/mkamsboot/Makefile
+++ b/rbutil/mkamsboot/Makefile
@@ -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)
diff --git a/rbutil/mkmpioboot/Makefile b/rbutil/mkmpioboot/Makefile
index 7ba7c41a1f..5e138b6f12 100644
--- a/rbutil/mkmpioboot/Makefile
+++ b/rbutil/mkmpioboot/Makefile
@@ -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)
diff --git a/rbutil/mktccboot/Makefile b/rbutil/mktccboot/Makefile
index 1b8ff5b349..7a7acf87b7 100644
--- a/rbutil/mktccboot/Makefile
+++ b/rbutil/mktccboot/Makefile
@@ -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)
diff --git a/rbutil/rbutilqt/rbutilqt.pro b/rbutil/rbutilqt/rbutilqt.pro
index 56be36d9fc..ca7214989c 100644
--- a/rbutil/rbutilqt/rbutilqt.pro
+++ b/rbutil/rbutilqt/rbutilqt.pro
@@ -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
diff --git a/tools/rbspeex/Makefile b/tools/rbspeex/Makefile
index 2fb1c4dc00..e52543c40c 100644
--- a/tools/rbspeex/Makefile
+++ b/tools/rbspeex/Makefile
@@ -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
diff --git a/tools/ucl/src/Makefile b/tools/ucl/src/Makefile
index c519844e93..3a13acc47e 100644
--- a/tools/ucl/src/Makefile
+++ b/tools/ucl/src/Makefile
@@ -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 $<