From 84205025c76b82343f157a4a21addecb72f7252b Mon Sep 17 00:00:00 2001 From: Dominik Riebeling Date: Fri, 16 Dec 2011 21:10:29 +0000 Subject: libtools.make: add rule to build a DLL. This only works for Windows, so you need to use it on Windows or set CROSS accordingly. Update mkamsboot to make mkamsboot.dll build and link against ucl.dll. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31333 a1c6a512-1295-4272-9138-f99709370657 --- rbutil/libtools.make | 10 ++++++++++ rbutil/mkamsboot/Makefile | 7 +++++++ 2 files changed, 17 insertions(+) diff --git a/rbutil/libtools.make b/rbutil/libtools.make index 1ba0f77f72..227d61b7d4 100644 --- a/rbutil/libtools.make +++ b/rbutil/libtools.make @@ -98,6 +98,16 @@ lib$(OUTPUT)$(RBARCH): $(TARGET_DIR)lib$(OUTPUT)$(RBARCH).a $(TARGET_DIR)lib$(OUTPUT)$(RBARCH).a: $(LIBOBJS) \ $(addprefix $(OBJDIR),$(EXTRALIBOBJS)) +# rules to build a DLL. Only works for W32 as target (i.e. MinGW toolchain) +dll: $(OUTPUT).dll +$(OUTPUT).dll: $(TARGET_DIR)$(OUTPUT).dll +$(TARGET_DIR)$(OUTPUT).dll: $(LIBOBJS) $(addprefix $(OBJDIR),$(EXTRALIBOBJS)) + @echo DLL $(notdir $@) + $(SILENT)mkdir -p $(dir $@) + $(SILENT)$(CROSS)$(CC) $(CFLAGS) -shared -o $@ $^ \ + -Wl,--output-def,$(TARGET_DIR)$(OUTPUT).def + +$(TARGET_DIR)lib$(OUTPUT)$(RBARCH).a: $(LIBOBJS) $(addprefix $(OBJDIR),$(EXTRALIBOBJS)) @echo AR $(notdir $@) $(SILENT)mkdir -p $(dir $@) $(SILENT)$(AR) rucs $@ $^ diff --git a/rbutil/mkamsboot/Makefile b/rbutil/mkamsboot/Makefile index 5379e1376f..67fe91e51d 100644 --- a/rbutil/mkamsboot/Makefile +++ b/rbutil/mkamsboot/Makefile @@ -22,3 +22,10 @@ include ../libtools.make $(OBJDIR)mkamsboot.o: dualboot.h dualboot.c mkamsboot.c mkamsboot.h $(OBJDIR)main.o: dualboot.h dualboot.c main.c mkamsboot.h + +$(TARGET_DIR)$(OUTPUT).dll: EXTRALIBOBJS += $(TARGET_DIR)ucl.dll +$(TARGET_DIR)$(OUTPUT).dll: $(TARGET_DIR)ucl.dll +$(TARGET_DIR)ucl.dll: + $(SILENT)$(MAKE) -C ../../tools/ucl/src/ \ + BUILD_DIR=$(BUILD_DIR) CC=$(CC) CROSS=$(CROSS) \ + TARGET_DIR=$(TARGET_DIR)/ ucl.dll -- cgit v1.2.3