solstice

Compute collected power and efficiencies of a solar plant
git clone git://git.meso-star.com/solstice.git
Log | Files | Refs | README | LICENSE

config.mk (2912B)


      1 VERSION_MAJOR = 0
      2 VERSION_MINOR = 11
      3 VERSION_PATCH = 0
      4 VERSION = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)
      5 
      6 PREFIX = /usr/local
      7 LIBPREFIX = $(PREFIX)/lib
      8 INCPREFIX = $(PREFIX)/include
      9 
     10 #LIB_TYPE = SHARED
     11 LIB_TYPE = STATIC
     12 
     13 BUILD_TYPE = RELEASE
     14 #BUILD_TYPE = DEBUG
     15 
     16 ################################################################################
     17 # Defaults
     18 ################################################################################
     19 SOLSTICE_ARGS_DEFAULT_NREALISATIONS = 10000
     20 SOLSTICE_ARGS_DEFAULT_CAMERA_POS = 0,0,0
     21 SOLSTICE_ARGS_DEFAULT_CAMERA_TGT = 0,0,-1
     22 SOLSTICE_ARGS_DEFAULT_CAMERA_UP = 0,1,0
     23 SOLSTICE_ARGS_DEFAULT_CAMERA_FOV = 70
     24 SOLSTICE_ARGS_DEFAULT_IMG_WIDTH = 800
     25 SOLSTICE_ARGS_DEFAULT_IMG_HEIGHT = 600
     26 SOLSTICE_ARGS_DEFAULT_IMG_SPP = 1
     27 SOLSTICE_ARGS_DEFAULT_SUN_DIRECTION_ALGORITHM = psa
     28 
     29 ################################################################################
     30 # Tools
     31 ################################################################################
     32 AR = ar
     33 CC = cc
     34 LD = ld
     35 OBJCOPY = objcopy
     36 PKG_CONFIG = pkg-config
     37 RANLIB = ranlib
     38 
     39 ################################################################################
     40 # Dependencies
     41 ################################################################################
     42 PCFLAGS_SHARED =
     43 PCFLAGS_STATIC = --static
     44 PCFLAGS = $(PCFLAGS_$(LIB_TYPE))
     45 
     46 RSYS_VERSION = 0.15
     47 S3DUT_VERSION = 0.4
     48 SSP_VERSION = 0.15
     49 SSTL_VERSION = 0.7
     50 YAML_VERSION = 0.2
     51 SSOL_VERSION = 0.10
     52 SANIM_VERSION = 0.3
     53 
     54 INCS = $$($(PKG_CONFIG) $(PCFLAGS) --cflags rsys s3dut star-sp sstl yaml-0.1 ssol sanim)\
     55  -fopenmp
     56 LIBS = $$($(PKG_CONFIG) $(PCFLAGS) --libs rsys s3dut star-sp sstl yaml-0.1 ssol sanim)\
     57  -fopenmp -lm
     58 
     59 ################################################################################
     60 # Compilation options
     61 ################################################################################
     62 WFLAGS =\
     63  -Wall\
     64  -Wcast-align\
     65  -Wconversion\
     66  -Wextra\
     67  -Wmissing-declarations\
     68  -Wmissing-prototypes\
     69  -Wshadow
     70 
     71 CFLAGS_HARDENED =\
     72  -D_FORTIFY_SOURCES=2\
     73  -fcf-protection=full\
     74  -fstack-clash-protection\
     75  -fstack-protector-strong
     76 
     77 CFLAGS_COMMON =\
     78  -std=c89\
     79  -pedantic\
     80  -fvisibility=hidden\
     81  -fstrict-aliasing\
     82  $(CFLAGS_HARDENED)\
     83  $(WFLAGS)
     84 
     85 CFLAGS_RELEASE = -O2 -DNDEBUG $(CFLAGS_COMMON)
     86 CFLAGS_DEBUG = -g $(CFLAGS_COMMON)
     87 CFLAGS = $(CFLAGS_$(BUILD_TYPE))
     88 
     89 CFLAGS_SO = $(CFLAGS) -fPIC
     90 CFLAGS_EXE = $(CFLAGS) -fPIE
     91 
     92 ################################################################################
     93 # Linker options
     94 ################################################################################
     95 LDFLAGS_HARDENED = -Wl,-z,relro,-z,now
     96 LDFLAGS_DEBUG = $(LDFLAGS_HARDENED)
     97 LDFLAGS_RELEASE = -s $(LDFLAGS_HARDENED)
     98 LDFLAGS = $(LDFLAGS_$(BUILD_TYPE))
     99 
    100 LDFLAGS_SO = $(LDFLAGS) -shared -Wl,--no-undefined
    101 LDFLAGS_EXE = $(LDFLAGS) -pie
    102 
    103 OCPFLAGS_DEBUG = --localize-hidden
    104 OCPFLAGS_RELEASE = --localize-hidden --strip-unneeded
    105 OCPFLAGS = $(OCPFLAGS_$(BUILD_TYPE))