1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
|
Description: Patch to build on Debian, and create a shared library
Author: Alastair McKinstry <mckinstry@debian.org>
Forwarded: not-needed
Last-Updated: 2016-02-19
Index: g2clib-1.6.2/makefile
===================================================================
--- g2clib-1.6.2.orig/makefile
+++ g2clib-1.6.2/makefile
@@ -17,7 +17,7 @@ DEFS=-DUSE_JPEG2000 -DUSE_PNG
# can be found (jasper/*.h and png.h pngconf.h zconf.h zlib.h)
#
-INC=-I/usrx/local/prod/packages/gnu/4.8.5/jasper/1.900.1/include
+#INC=-I/usrx/local/prod/packages/gnu/4.8.5/jasper/1.900.1/include
#
# This "C" source code contains many uses of the C++
@@ -27,6 +27,13 @@ INC=-I/usrx/local/prod/packages/gnu/4.8.
CFLAGS= -O3 -g -m64 $(INC) $(DEFS) -D__64BIT__
+PIC:= -fPIC
+
+prefix=/usr
+LIBDIR=/usr/lib
+SHLIB=libgrib2c.so.0d
+SONAME=libgrib2c.so.0d
+
CC=gcc
LIB=libg2c_v1.6.2.a
@@ -86,7 +93,77 @@ $(LIB): $(LIB)(gridtemplates.o) \
$(LIB)(seekgb.o)
.c.a:
- $(CC) -c $(CFLAGS) $<
+ $(CC) -c $(CFLAGS) $(PIC) $<
ar $(ARFLAGS) -ruv $@ $*.o
rm -f $*.o
+.c.o:
+ $(CC) -c $(CFLAGS) $(PIC) $<
+
+clean:
+ rm -f *.o *.a *.so grib2c.pc lib*
+
+LIBS= `pkg-config --libs libpng` -ljasper -lm
+OBJS:= gridtemplates.o \
+ drstemplates.o \
+ pdstemplates.o \
+ gbits.o \
+ g2_unpack1.o \
+ g2_unpack2.o \
+ g2_unpack3.o \
+ g2_unpack4.o \
+ g2_unpack5.o \
+ g2_unpack6.o \
+ g2_unpack7.o \
+ g2_free.o \
+ g2_info.o \
+ g2_getfld.o \
+ simunpack.o \
+ comunpack.o \
+ pack_gp.o \
+ reduce.o \
+ specpack.o \
+ specunpack.o \
+ rdieee.o \
+ mkieee.o \
+ int_power.o \
+ simpack.o \
+ compack.o \
+ cmplxpack.o \
+ misspack.o \
+ jpcpack.o \
+ jpcunpack.o \
+ pngpack.o \
+ pngunpack.o \
+ dec_jpeg2000.o \
+ enc_jpeg2000.o \
+ dec_png.o \
+ enc_png.o \
+ g2_create.o \
+ g2_addlocal.o \
+ g2_addgrid.o \
+ g2_addfield.o \
+ g2_gribend.o \
+ getdim.o \
+ g2_miss.o \
+ getpoly.o \
+ seekgb.o
+
+
+all: $(LIB) $(SHLIB)
+
+$(SHLIB): $(OBJS)
+ gcc $(LDFLAGS) -Wl,-as-needed -shared -o $(SHLIB) -Wl,-soname,$(SONAME) $(OBJS) $(LIBS)
+
+grib2c.pc: grib2c.pc.in
+ cat grib2c.pc.in | sed -e 's!@prefix@!${PREFIX}!' | sed -e 's!@libdir@!${LIBDIR}!' > grib2c.pc
+
+install: $(LIB) $(SHLIB) grib2c.pc
+ mkdir -p $(LIBDIR)
+ cp $(LIB) $(SHLIB) $(LIBDIR)
+ mkdir -p $(LIBDIR)/pkgconfig
+ cp grib2c.pc $(LIBDIR)/pkgconfig
+ mkdir -p $(prefix)/include
+ cp grib2.h $(prefix)/include
+
+.PHONY: clean install
|