star-cpr

Clip 2D meshes with 2D polygons
git clone git://git.meso-star.fr/star-cpr.git
Log | Files | Refs | README | LICENSE

config.mk (2614B)


      1 VERSION = 0.5.1
      2 PREFIX = /usr/local
      3 
      4 LIB_TYPE = SHARED
      5 #LIB_TYPE = STATIC
      6 
      7 BUILD_TYPE = RELEASE
      8 #BUILD_TYPE = DEBUG
      9 
     10 ################################################################################
     11 # Tools
     12 ################################################################################
     13 AR = ar
     14 CC = cc
     15 CXX = c++
     16 LD = ld
     17 OBJCOPY = objcopy
     18 PKG_CONFIG = pkg-config
     19 RANLIB = ranlib
     20 
     21 ################################################################################
     22 # Dependencies
     23 ################################################################################
     24 PCFLAGS_STATIC = --static
     25 PCFLAGS = $(PCFLAGS_$(LIB_TYPE))
     26 
     27 CLIPPER2_VERSION = 1.4
     28 CLIPPER2_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags Clipper2)
     29 CLIPPER2_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs Clipper2)
     30 
     31 POLYGON_VERSION = 0.2
     32 POLYGON_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags polygon)
     33 POLYGON_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs polygon)
     34 
     35 RSYS_VERSION = 0.14
     36 RSYS_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys)
     37 RSYS_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys)
     38 
     39 DPDC_CFLAGS = $(CLIPPER2_CFLAGS) $(POLYGON_CFLAGS) $(RSYS_CFLAGS)
     40 DPDC_LIBS = $(CLIPPER2_LIBS) $(POLYGON_LIBS) $(RSYS_LIBS)
     41 
     42 ################################################################################
     43 # Compilation options
     44 ################################################################################
     45 FLAGS =\
     46  -fvisibility=hidden\
     47  -fstrict-aliasing\
     48  -Wall\
     49  -Wcast-align\
     50  -Wconversion\
     51  -Wextra\
     52  -Wmissing-declarations\
     53  -Wshadow
     54 
     55 CFLAGS_HARDENED =\
     56  -D_FORTIFY_SOURCES=2\
     57  -fcf-protection=full\
     58  -fstack-clash-protection\
     59  -fstack-protector-strong
     60 
     61 CFLAGS_COMMON =\
     62  -std=c89\
     63  -Wmissing-prototypes\
     64  $(CFLAGS_HARDENED)\
     65  $(FLAGS)
     66 
     67 CXXFLAGS_COMMON =\
     68  -std=c++17\
     69  $(CFLAGS_HARDENED)\
     70  $(FLAGS)
     71 
     72 CFLAGS_DEBUG = -g $(CFLAGS_COMMON)
     73 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON)
     74 CFLAGS = $(CFLAGS_$(BUILD_TYPE)) -fPIE # C is only used for the tests
     75 
     76 CXXFLAGS_DEBUG = -g $(CXXFLAGS_COMMON)
     77 CXXFLAGS_RELEASE = -O2 -DNDEBUG $(CXXFLAGS_COMMON)
     78 CXXFLAGS = $(CXXFLAGS_$(BUILD_TYPE)) -fPIC # C++ is only used for the library
     79 
     80 ################################################################################
     81 # Linker options
     82 ################################################################################
     83 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now
     84 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED)
     85 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED)
     86 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE))
     87 
     88 LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined
     89 LDFLAGS_EXE = $(LDFLAGS) -pie
     90 
     91 OCPFLAGS_DEBUG = --localize-hidden
     92 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded
     93 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))