File: makefile.patch

package info (click to toggle)
g2clib 1.6.2-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 696 kB
  • sloc: ansic: 5,536; makefile: 449
file content (111 lines) | stat: -rw-r--r-- 2,434 bytes parent folder | download
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