summaryrefslogtreecommitdiff
path: root/sofort/exrules/pe-common.mk
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2020-01-26 16:40:49 -0500
committermidipix <writeonce@midipix.org>2020-05-23 05:59:01 +0000
commit944e2bdb67e96024a149fbdc07e5ec83bae0abe3 (patch)
tree856807fb699fe2b3570e8109233dff61d6d5e883 /sofort/exrules/pe-common.mk
parentc755a5575fd437e95ea96cd10b45968562793656 (diff)
downloadtpax-944e2bdb67e96024a149fbdc07e5ec83bae0abe3.tar.bz2
tpax-944e2bdb67e96024a149fbdc07e5ec83bae0abe3.tar.xz
build system: created skeleton.
Diffstat (limited to 'sofort/exrules/pe-common.mk')
-rw-r--r--sofort/exrules/pe-common.mk42
1 files changed, 42 insertions, 0 deletions
diff --git a/sofort/exrules/pe-common.mk b/sofort/exrules/pe-common.mk
new file mode 100644
index 0000000..3e132a9
--- /dev/null
+++ b/sofort/exrules/pe-common.mk
@@ -0,0 +1,42 @@
+# pe-common.mk: common PE shared library rules.
+# this file is covered by COPYING.SOFORT.
+
+DSO_REF_VER = $(IMPLIB_VER)
+DSO_REF_SONAME = $(IMPLIB_SONAME)
+DSO_REF_SOLINK = $(IMPLIB_SOLINK)
+
+LDFLAGS_IMPLIB += -Wl,--output-def
+LDFLAGS_IMPLIB += -Wl,$(IMPLIB_DEF)
+
+LDFLAGS_SONAME += -Wl,-soname
+LDFLAGS_SONAME += -Wl,$(DSO_SONAME)
+LDFLAGS_SHARED += $(LDFLAGS_SONAME)
+
+DSO_LIBPATH ?= loader
+PE_SUBSYSTEM ?= windows
+LDFLAGS_COMMON += -Wl,--subsystem=$(PE_SUBSYSTEM)
+
+implib: implib-ver package-implib-soname package-implib-solink
+
+implib-ver: shared-lib $(IMPLIB_VER)
+
+implib-soname: shared-lib $(IMPLIB_SONAME)
+
+implib-solink: shared-lib $(IMPLIB_SOLINK)
+
+$(IMPLIB_DEF): shared-lib
+
+install-implib: install-implib-ver \
+ package-install-implib-soname \
+ package-install-implib-solink
+
+install-implib-ver: implib-ver
+ mkdir -p $(DESTDIR)$(LIBDIR)
+ cp $(IMPLIB_VER) $(DESTDIR)$(LIBDIR)
+
+clean-implib:
+ rm -f $(SHARED_LIB)
+ rm -f $(IMPLIB_DEF)
+ rm -f $(IMPLIB_VER)
+ rm -f $(IMPLIB_SONAME)
+ rm -f $(IMPLIB_SOLINK)