CFLAGS += -Wmissing-format-attribute
CFLAGS += -Wunused-macros
CFLAGS += -Wbad-function-cast
-
-# cflags used only for building library objects
-LIBCFLAGS += -fPIC
-LIBCFLAGS += -fvisibility=hidden
-
+CFLAGS += -fPIC
+CFLAGS += -fvisibility=hidden
+
+LDFLAGS += -Wl,-soname,$(soname)
+LDFLAGS += -Wl,-z,defs
+LDFLAGS += --shared
+
+# On ELf-based systems, the following conventions apply (see dhweeler's
+# Program Library HOWTO):
+#
+# The soname has the prefix ``lib'', the name of the library, the
+# phrase ``.so'', followed by a period and a version number that is
+# incremented whenever the interface changes.
libname := osl
+soname := lib$(libname).so.$(x)
-ifeq ($(uname_s),Linux)
- format := elf
- LDFLAGS += -Wl,-soname,$(soname)
- # disallow undefined symbols
- LDFLAGS += -Wl,-z,defs
-endif
-ifeq ($(uname_s),NetBSD)
- format := elf
- LDFLAGS += -Wl,-soname,$(soname)
-endif
+# The real name adds to the soname a period, a minor number, another
+# period, and the release number.
+realname := $(soname).$(y).$(z)
-ifeq ($(uname_s),FreeBSD)
- format := elf
- LDFLAGS += -Wl,-soname,$(soname)
-endif
-
-ifeq ($(format),elf)
- # On ELf-based systems, the following conventions apply (see dhweeler's
- # Program Library HOWTO):
- #
- # The soname has the prefix ``lib'', the name of the library, the
- # phrase ``.so'', followed by a period and a version number that is
- # incremented whenever the interface changes.
- soname := lib$(libname).so.$(x)
-
- # The real name adds to the soname a period, a minor number, another
- # period, and the release number.
- realname := $(soname).$(y).$(z)
-
- # In addition, there's the name that the compiler uses when requesting
- # a library, (I'll call it the ``linker name''), which is simply the
- # soname without any version number.
- linkername := lib$(libname).so
- LDFLAGS += --shared
-endif
+# In addition, there's the name that the compiler uses when requesting
+# a library, (I'll call it the ``linker name''), which is simply the
+# soname without any version number.
+linkername := lib$(libname).so
all: $(realname) $(executables) $(man_pages)
shared: $(realname)
-include $(deps)
endif
%.o: %.c Makefile errtab.h
- $(CC) $(CPPFLAGS) -c -MMD -MF $(*F).d -MT $@ $(CFLAGS) $(LIBCFLAGS) $<
+ $(CC) $(CPPFLAGS) -c -MMD -MF $(*F).d -MT $@ $(CFLAGS) $<
fsck.o: oslfsck.lsg.h
oslfsck: $(fsck_objects)