star-cad

Geometric operators for computer-aided design
git clone git://git.meso-star.fr/star-cad.git
Log | Files | Refs | README | LICENSE

config.mk (2544B)


      1 VERSION = 0.6
      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 LD = ld
     16 OBJCOPY = objcopy
     17 PKG_CONFIG = pkg-config
     18 RANLIB = ranlib
     19 
     20 ################################################################################
     21 # Dependencies
     22 ################################################################################
     23 PCFLAGS_STATIC = --static
     24 PCFLAGS = $(PCFLAGS_$(LIB_TYPE))
     25 
     26 GMSH_VERSION = 4.14.1
     27 GMSH_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags gmsh)
     28 GMSH_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs gmsh)
     29 
     30 RSYS_VERSION = 0.14
     31 RSYS_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys)
     32 RSYS_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys)
     33 
     34 SENC3D_VERSION = 0.7.1
     35 SENC3D_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags senc3d)
     36 SENC3D_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs senc3d)
     37 
     38 SG3D_VERSION = 0.2
     39 SG3D_CFLAGS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags sg3d)
     40 SG3D_LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs sg3d)
     41 
     42 DPDC_CFLAGS = $(GMSH_CFLAGS) $(RSYS_CFLAGS) $(SENC3D_CFLAGS) $(SG3D_CFLAGS)
     43 DPDC_LIBS = $(GMSH_LIBS) $(RSYS_LIBS) $(SENC3D_LIBS) $(SG3D_LIBS) -lm
     44 
     45 ################################################################################
     46 # Compilation options
     47 ################################################################################
     48 WFLAGS =\
     49  -Wall\
     50  -Wcast-align\
     51  -Wconversion\
     52  -Wextra\
     53  -Wmissing-declarations\
     54  -Wmissing-prototypes\
     55  -Wshadow
     56 
     57 CFLAGS_HARDENED =\
     58  -D_FORTIFY_SOURCES=2\
     59  -fcf-protection=full\
     60  -fstack-clash-protection\
     61  -fstack-protector-strong
     62 
     63 CFLAGS_COMMON =\
     64  -std=c89\
     65  -pedantic\
     66  -fPIC\
     67  -fvisibility=hidden\
     68  -fstrict-aliasing\
     69  $(CFLAGS_HARDENED)\
     70  $(WFLAGS)
     71 
     72 CFLAGS_DEBUG = -g $(CFLAGS_COMMON)
     73 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON)
     74 CFLAGS = $(CFLAGS_$(BUILD_TYPE))
     75 
     76 CFLAGS_SO = $(CFLAGS) -fPIC
     77 CFLAGS_EXE = $(CFLAGS) -fPIE
     78 
     79 ################################################################################
     80 # Linker options
     81 ################################################################################
     82 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now
     83 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED)
     84 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED)
     85 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE))
     86 
     87 LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined
     88 LDFLAGS_EXE = $(LDFLAGS) -pie
     89 
     90 OCPFLAGS_DEBUG = --localize-hidden
     91 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded
     92 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))