summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rbutil/libtools.make10
-rw-r--r--rbutil/mkamsboot/Makefile7
2 files changed, 17 insertions, 0 deletions
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