#/********************************************************************** # * # * PostGIS - Spatial Types for PostgreSQL # * http://postgis.net # * # * PostGIS is free software: you can redistribute it and/or modify # * it under the terms of the GNU General Public License as published by # * the Free Software Foundation, either version 2 of the License, or # * (at your option) any later version. # * # * PostGIS is distributed in the hope that it will be useful, # * but WITHOUT ANY WARRANTY; without even the implied warranty of # * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # * GNU General Public License for more details. # * # * You should have received a copy of the GNU General Public License # * along with PostGIS. If not, see . # * # ********************************************************************** # * # * Copyright 2022 Sandro Santilli # * Copyright 2008 Mark Cave-Ayland # * # **********************************************************************/ srcdir = @srcdir@ builddir = @builddir@ top_builddir = @top_builddir@ prefix = @prefix@ libdir = @libdir@ includedir = @includedir@ exec_prefix = @exec_prefix@ CC = @CC@ CPPFLAGS = $(RYU_INCLUDE) @CPPFLAGS@ -I$(builddir) -I$(srcdir) CFLAGS = @CFLAGS@ @PICFLAGS@ LDFLAGS = @LDFLAGS@ @GEOS_LDFLAGS@ @PROJ_LDFLAGS@ @JSON_LDFLAGS@ SHELL = @SHELL@ INSTALL = @INSTALL@ LIBTOOL = @LIBTOOL@ VPATH = $(srcdir):$(builddir) RYU_INCLUDE = -I$(srcdir)/../deps/ryu/.. SOVER = @POSTGIS_MAJOR_VERSION@.@POSTGIS_MINOR_VERSION@ IFACE_CURRENT = @LIBLWGEOM_CURRENT@ IFACE_AGE = @LIBLWGEOM_AGE@ IFACE_REV = @LIBLWGEOM_REV@ VERSION_INFO = $(IFACE_CURRENT):$(IFACE_REV):$(IFACE_AGE) YACC=@YACC@ LEX=@LEX@ # Standalone LWGEOM objects SA_OBJS = \ stringbuffer.o \ optionlist.o \ stringlist.o \ bytebuffer.o \ measures.o \ measures3d.o \ ptarray.o \ lookup3.o \ lwgeom_api.o \ lwgeom.o \ lwpoint.o \ lwline.o \ lwpoly.o \ lwtriangle.o \ lwmpoint.o \ lwmline.o \ lwmpoly.o \ lwboundingcircle.o \ lwcollection.o \ lwcircstring.o \ lwcompound.o \ lwcurvepoly.o \ lwmcurve.o \ lwmsurface.o \ lwpsurface.o \ lwtin.o \ lwout_wkb.o \ lwin_geojson.o \ lwin_wkb.o \ lwin_twkb.o \ lwiterator.o \ lwgeom_median.o \ lwout_wkt.o \ lwout_twkb.o \ lwin_wkt_parse.o \ lwin_wkt_lex.o \ lwin_wkt.o \ lwin_encoded_polyline.o \ lwutil.o \ lwhomogenize.o \ lwalgorithm.o \ lwstroke.o \ lwlinearreferencing.o \ lwprint.o \ gbox.o \ gserialized.o \ gserialized1.o \ gserialized2.o \ lwgeodetic.o \ lwgeodetic_tree.o \ lwrandom.o \ lwtree.o \ lwout_gml.o \ lwout_kml.o \ lwout_geojson.o \ lwout_svg.o \ lwout_x3d.o \ lwout_encoded_polyline.o \ lwgeom_debug.o \ lwgeom_geos.o \ lwgeom_geos_clean.o \ lwgeom_geos_cluster.o \ lwgeom_geos_node.o \ lwgeom_geos_split.o \ lwgeom_topo.o \ lwgeom_transform.o \ lwgeom_wrapx.o \ lwunionfind.o \ effectivearea.o \ lwchaikins.o \ lwmval.o \ lwkmeans.o \ varint.o NM_OBJS = \ lwspheroid.o ifeq (@SFCGAL@,sfcgal) CFLAGS += @SFCGAL_CPPFLAGS@ LDFLAGS += @SFCGAL_LDFLAGS@ SA_OBJS += lwgeom_sfcgal.o endif LDFLAGS += -no-undefined LT_SA_OBJS = $(SA_OBJS:.o=.lo) LT_NM_OBJS = $(NM_OBJS:.o=.lo) LT_OBJS = $(LT_SA_OBJS) $(LT_NM_OBJS) SA_HEADERS = \ bytebuffer.h \ effectivearea.h \ liblwgeom.h \ liblwgeom_internal.h \ lwgeodetic.h \ lwgeodetic_tree.h \ liblwgeom_topo.h \ liblwgeom_topo_internal.h \ lwgeom_log.h \ lwgeom_geos.h \ lwgeom_log.h \ lwgeom_sfcgal.h \ lwinline.h \ lwin_wkt.h \ lwin_wkt_parse.h \ lwout_twkb.h \ lwrandom.h \ lwtree.h \ measures3d.h \ measures.h \ stringbuffer.h \ varint.h all: liblwgeom.la install: uninstall: # Make all objects depend upon postgis_config.h and postgis_revision.h $(LT_OBJS): ../postgis_config.h ../postgis_revision.h $(SA_HEADERS) ../postgis_revision.h: $(MAKE) -C .. postgis_revision.h RYU_LIBPATH = ../deps/ryu/@RYU_LIB@ $(RYU_LIBPATH): ../deps/ryu/d2s.c $(MAKE) -C ../deps/ryu @RYU_LIB@ liblwgeom.la: $(LT_OBJS) $(RYU_LIBPATH) $(LIBTOOL) --tag=CC --mode=link $(CC) -rpath $(libdir) $(LT_OBJS) $(RYU_LIBPATH)\ -release $(SOVER) -version-info $(VERSION_INFO) $(LDFLAGS) -static -o $@ maintainer-clean: clean rm -f lwin_wkt_lex.c rm -f lwin_wkt_parse.h rm -f lwin_wkt_parse.c clean: $(MAKE) -C cunit clean $(MAKE) -C ../deps/ryu clean rm -f $(LT_OBJS) $(SA_OBJS) $(NM_OBJS) rm -f liblwgeom.la rm -rf .libs distclean: clean $(MAKE) -C cunit distclean rm -f liblwgeom.h Makefile check: check-unit check-regress: .PHONY: check-unit check-unit: liblwgeom.la $(MAKE) -C cunit check # Command to build each of the .lo files $(LT_SA_OBJS): %.lo: %.c $(LIBTOOL) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< $(LT_NM_OBJS): %.lo: %.c $(LIBTOOL) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $< lwin_wkt_parse.c lwin_wkt_parse.h: lwin_wkt_parse.y @test -n "$(YACC)" || { \ echo "No yacc found, cannot build parser" >&2; \ false; \ } $(YACC) -p wkt_yy -o'lwin_wkt_parse.c' -d $< lwin_wkt_lex.c: lwin_wkt_lex.l @test -n "$(LEX)" || { \ echo "No lex found, cannot build parser" >&2; \ false; \ } $(LEX) -i $< liblwgeom.h: liblwgeom.h.in cd $(top_builddir) && ./config.status