summaryrefslogblamecommitdiff
path: root/src/Makefile.am
blob: 19f8bcbb9a90ede333c3a7849eb6f1b94fb7044e (plain) (tree)
1
2
3
4
5
6
7
8
9

                                 




                        

                     

                   

                 
 


                            





                     
                   

                   
                  

                     

                   

                 
 


                           
                
                

                  

                

                

               

               

               

                 

              

                      

                 
                  
                  
                         

                

                 

                  

                

                      

                     
                     
                     

                        
                           
                          
                          
                             

                             

                     

                   
 
                                                                                
                                                  
 
                  














                                                                                       
     
 



                                 



                      

                                                                 

                                           
                                       

                                            
                                   
                                          
                                                             
 
                                                          

                                                                                                                                                                                                   
AUTOMAKE_OPTIONS = subdir-objects

CHAR_SRC = char/char.c \
    char/char.h \
    char/config.c \
    char/config.h \
    char/init.c \
    common/config.c \
    common/config.h \
    common/init.c \
    common/init.h \
    common/ip.c \
    common/ip.h

LOGIN_SRC = login/config.c \
    login/config.h \
    login/init.c \
    login/login.c \
    login/login.h \
    login/md5calc.c \
    login/md5calc.h \
    login/mt_rand.c \
    login/mt_rand.h \
    login/parse.c \
    login/parse.h \
    login/send.c \
    login/send.h \
    common/config.c \
    common/config.h \
    common/init.c \
    common/init.h \
    common/ip.c \
    common/ip.h

MAP_SRC = map/atcommand.c \
    map/atcommand.h \
    map/clif.c \
    map/clif.h \
    map/init.c \
    map/itemdb.c \
    map/itemdb.h \
    map/lang.c \
    map/lang.h \
    map/mail.c \
    map/mail.h \
    map/map.c \
    map/map.h \
    map/mob.c \
    map/mob.h \
    map/npc.c \
    map/npc.h \
    map/parse.c \
    map/parse.h \
    map/pc.c \
    map/pc.h \
    map/permission.c \
    map/permission.h \
    map/quest.c \
    map/quest.h \
    map/script.c \
    map/script.h \
    map/scriptdefines.h \
    map/send.c \
    map/send.h \
    map/skill.c \
    map/skill.h \
    map/status.c \
    map/status.h \
    map/unit.c \
    map/unit.h \
    map/data/itemd.c \
    map/data/itemd.h \
    map/data/mapd.c \
    map/data/mapd.h \
    map/data/npcd.c \
    map/data/npcd.h \
    map/data/session.c \
    map/data/session.h \
    map/struct/itemdext.h \
    map/struct/mapdext.h \
    map/struct/npcdext.h \
    map/struct/sessionext.h \
    map/utils/formatutils.c \
    map/utils/formatutils.h \
    common/config.c \
    common/config.h \
    common/init.c \
    common/init.h

SHARED_CFLAGS = -pipe -ffast-math -Wall -Wextra -Wno-sign-compare -DPCRE_SUPPORT
SHARED_LDFLAGS = -avoid-version -Wl,--no-undefined

if ENABLE_SANITIZE
#skip -fsanitize=alignment
SHARED_CFLAGS += -fsanitize=address \
-fsanitize=shift -fsanitize=integer-divide-by-zero -fsanitize=unreachable \
-fsanitize=vla-bound -fsanitize=null -fsanitize=return \
-fsanitize=signed-integer-overflow -fsanitize=bounds \
-fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow \
-fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool \
-fsanitize=enum -fsanitize=vptr
SHARED_LDFLAGS += -lasan -lubsan -fsanitize=address \
-fsanitize=shift -fsanitize=integer-divide-by-zero -fsanitize=unreachable \
-fsanitize=vla-bound -fsanitize=null -fsanitize=return \
-fsanitize=signed-integer-overflow -fsanitize=bounds \
-fsanitize=object-size -fsanitize=float-divide-by-zero -fsanitize=float-cast-overflow \
-fsanitize=nonnull-attribute -fsanitize=returns-nonnull-attribute -fsanitize=bool \
-fsanitize=enum -fsanitize=vptr
endif

if ENABLE_STATIC
SHARED_CFLAGS += "-static-libgcc"
endif

if ENABLE_GPROF
SHARED_CFLAGS += "-pg"
endif

lib_LTLIBRARIES = libevol_char.la libevol_login.la libevol_map.la
libevol_char_la_SOURCES = ${CHAR_SRC}
libevol_char_la_LDFLAGS = ${SHARED_LDFLAGS}
libevol_char_la_CFLAGS = ${SHARED_CFLAGS}
libevol_login_la_SOURCES = ${LOGIN_SRC}
libevol_login_la_LDFLAGS = ${SHARED_LDFLAGS}
libevol_login_la_CFLAGS = ${SHARED_CFLAGS}
libevol_map_la_SOURCES = ${MAP_SRC}
libevol_map_la_LDFLAGS = ${SHARED_LDFLAGS}
libevol_map_la_CFLAGS = ${SHARED_CFLAGS} -Wno-strict-aliasing

all-local: libevol_char.la libevol_login.la libevol_map.la
	@cp .libs/*.so ../../../../plugins || cp .libs/*.so ../../../plugins || cp .libs/*.so ../../../server-code/plugins || cp .libs/*.so ../../server-code/plugins
	@cp .libs/*.so ../../../../../server-data/plugins || cp .libs/*.so ../../../../server-data/plugins || cp .libs/*.so ../../../server-data/plugins || cp .libs/*.so ../../server-data/plugins