aboutsummaryrefslogtreecommitdiffstats
path: root/make/mingw.mk
diff options
context:
space:
mode:
Diffstat (limited to 'make/mingw.mk')
-rw-r--r--make/mingw.mk52
1 files changed, 52 insertions, 0 deletions
diff --git a/make/mingw.mk b/make/mingw.mk
new file mode 100644
index 00000000..aa548931
--- /dev/null
+++ b/make/mingw.mk
@@ -0,0 +1,52 @@
+# --- Required interface definitions ---
+
+OBJ=o
+LOBJ=o
+
+# Usage: $(call libname,base)
+define libname
+lib$(1).a
+endef
+
+# Usage: $(call binname,base)
+define binname
+$(1)
+endef
+
+# --- Required rule definitions ---
+
+# 1 2
+# Usage: $(call compile,src,includes)
+define compile
+ $(CXX) $(CPPFLAGS) $(CXXFLAGS) \
+ $(call depflags,$(basename $(call src_to_obj,$(1)))) \
+ $(foreach I,$(2),-I$(I)) \
+ -c $(1) -o $(call src_to_obj,$(1))
+endef
+
+# 1 2
+# Usage: $(call c_compile,src,includes)
+define c_compile
+ $(CC) $(CPPFLAGS) $(CFLAGS) \
+ $(call depflags,$(basename $(call src_to_obj,$(1)))) \
+ $(foreach I,$(2),-I$(I)) \
+ -c $(1) -o $(call c_src_to_obj,$(1))
+endef
+
+libcompile = $(compile)
+
+# 1 2 3 4 5
+# Usage: $(call makelib,objs,library,current,revision,age)
+define makelib
+ ar cru $(2) $(1);
+ ranlib $(2);
+ dlltool -l $(2) -D `echo $(2) | sed -e 's,lib\(.*\).a,\1'`$(3).dll \
+ $(1) $(LDFLAGS) $(LIBS)
+endef
+
+# 1 2
+# Usage: $(call makebin,objs,binary)
+define makebin
+ $(CXX) $(CXXFLAGS) $(1) -o $(2) $(LDFLAGS) \
+ -Llibqpdf/$(OUTPUT_DIR) -lqpdf $(LIBS)
+endef