summaryrefslogtreecommitdiffstats
path: root/src/makefiles/Makefile.hpux
diff options
context:
space:
mode:
Diffstat (limited to 'src/makefiles/Makefile.hpux')
-rw-r--r--src/makefiles/Makefile.hpux53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/makefiles/Makefile.hpux b/src/makefiles/Makefile.hpux
new file mode 100644
index 0000000..7e18770
--- /dev/null
+++ b/src/makefiles/Makefile.hpux
@@ -0,0 +1,53 @@
+# Using X/Open Networking Interfaces requires to link with libxnet.
+# Without specifying this, bind(), getpeername() and so on don't work
+# correctly in the LP64 data model.
+LIBS := -lxnet $(LIBS)
+
+# Set up rpath so that the executables don't need SHLIB_PATH to be set.
+# (Note: --disable-rpath is a really bad idea on this platform...)
+ifeq ($(with_gnu_ld), yes)
+ rpath = -Wl,-rpath -Wl,'$(rpathdir)'
+else
+ rpath = -Wl,+b -Wl,'$(rpathdir)'
+endif
+
+# catch null pointer dereferences
+ifeq ($(with_gnu_ld), yes)
+# XXX what to put here?
+else
+ LDFLAGS_EX += -Wl,-z
+endif
+
+# set up appropriate options for shared library builds
+export_dynamic = -Wl,-E
+
+INSTALL_SHLIB_OPTS = -m 555
+
+AROPT = crs
+
+ifeq ($(host_cpu), ia64)
+ DLSUFFIX = .so
+else
+ DLSUFFIX = .sl
+endif
+
+# env var name to use in place of LD_LIBRARY_PATH
+ld_library_path_var = SHLIB_PATH
+
+# Rule for building a shared library from a single .o file
+%$(DLSUFFIX): %.o
+ifeq ($(GCC), yes)
+ ifeq ($(with_gnu_ld), yes)
+ $(CC) $(CFLAGS) $< $(LDFLAGS) $(LDFLAGS_SL) -shared -o $@ `$(CC) $(LDFLAGS) -print-libgcc-file-name`
+ else
+ $(LD) -b -o $@ $< `$(CC) $(LDFLAGS) -print-libgcc-file-name`
+ endif
+else
+ ifeq ($(with_gnu_ld), yes)
+ $(CC) $(CFLAGS) $< $(LDFLAGS) $(LDFLAGS_SL) -shared -o $@
+ else
+ $(LD) -b -o $@ $<
+ endif
+endif
+
+sqlmansect = 5