You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/dev-libs/shhopt/files/shhopt-1.1.7-build.patch

84 lines
1.8 KiB

--- a/Makefile
+++ b/Makefile
@@ -5,20 +5,15 @@
VERPAT = 7
VERSION = $(VERMAJ).$(VERMIN).$(VERPAT)
-# Define SHARED as 1 for Linux shared ELF library
-#SHARED = 1
-
-ifeq ($(SHARED),1)
LIBTARGET = lib$(DIST).so.$(VERSION)
LIBTARGETSO = lib$(DIST).so
LIBTARGETSOMAJ = $(LIBTARGETSO).$(VERMAJ)
CCSHRD = -fPIC
-else
-LIBTARGET = lib$(DIST).a
-endif
+
+LIBTARGETA = lib$(DIST).a
LIBHEAD = $(DIST).h
-TARGETS = $(LIBTARGET)
+TARGETS = $(LIBTARGET) $(LIBTARGETA)
INSTBASEDIR = /usr/local
INSTLIBDIR = $(INSTBASEDIR)/lib
@@ -27,12 +22,12 @@
INSTALLPROG = install -m 755
MKDIRP = install -d -m 755
-CC = gcc
-OPTIM = -O2
-
-INCDIR = -I.
-
-CCOPT = -s -Wall $(OPTIM) $(INCDIR)
+CC ?= gcc
+AR ?= ar
+ARFLAGS ?= rc
+RANLIB ?= ranlib
+CPPFLAGS += -I.
+CFLAGS += -Wall
# Object files to store in the library
LIBOBJS = shhopt.o
@@ -43,21 +38,19 @@
# don't worry if you get ranlib not found errors. This probably means
# that your ar does an implicit ranlib and you do not need to run ranlib
# separately. This error is harmless.
-$(LIBTARGET): $(LIBOBJS)
-ifeq ($(SHARED),1)
- $(CC) -shared -Wl,-soname,$(LIBTARGETSOMAJ) -o $(LIBTARGET) $(LIBOBJS)
-else
- ar rc $(LIBTARGET) $(LIBOBJS)
- ranlib $(LIBTARGET) || true
-endif
+$(LIBTARGET): $(LIBOBJS:.o=.lo)
+ $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname,$(LIBTARGETSOMAJ) -o $@ $^
+$(LIBTARGETA): $(LIBOBJS)
+ $(AR) $(ARFLAGS) $@ $^
+ $(RANLIB) $@
# Note that you may need GNU's -liberty if your libc lacks strtoul
example: $(LIBTARGET) example.o
$(CC) -o example example.c \
-L. -I. -L$(INSTLIBDIR) -I$(INSTINCDIR) -lshhopt
-.c.o:
- $(CC) $(CCSHRD) -o $@ -c $(CCOPT) $<
+%.lo: %.c
+ $(COMPILE.c) $(CCSHRD) $^ -o $@
depend dep:
$(CC) $(INCDIR) -MM *.c >depend
@@ -73,7 +66,7 @@
endif
clean:
- rm -f *.o core *~ depend
+ rm -f *.o *.lo *.so* *.a core *~ depend
chmod:
chmod a+r *