~josejuan-sanchez/esajpip/continue

« back to all changes in this revision

Viewing changes to Makefile

  • Committer: José Juan Sánchez Hernández
  • Date: 2013-10-01 10:01:21 UTC
  • Revision ID: josejuan.sanchez@gmail.com-20131001100121-xfobvkenqie7y0te
Initial import

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
DEBUG=yes
 
2
PLATFORM=Linux
 
3
#PLATFORM=Solaris
 
4
 
 
5
CXX=g++
 
6
SHELL=/bin/bash
 
7
 
 
8
OBJS += data/serialize              \
 
9
                data/file                   \
 
10
                data/file_segment           \
 
11
                data/vint_vector
 
12
 
 
13
OBJS += jpeg2000/point              \
 
14
                jpeg2000/coding_parameters  \
 
15
                jpeg2000/index_manager      \
 
16
                jpeg2000/image_index        \
 
17
                jpeg2000/packet_index       \
 
18
                jpeg2000/codestream_index   \
 
19
                jpeg2000/image_info         \
 
20
                jpeg2000/file_manager       \
 
21
                jpeg2000/packet                         \
 
22
                jpeg2000/place_holder           \
 
23
                jpeg2000/meta_data                      \
 
24
                jpeg2000/range
 
25
 
 
26
OBJS += ipc/ipc_object              \
 
27
                ipc/event                   \
 
28
                ipc/mutex                   \
 
29
                ipc/rdwr_lock
 
30
 
 
31
OBJS += http/protocol               \
 
32
                http/response               \
 
33
                http/header                 \
 
34
                http/request
 
35
 
 
36
OBJS += net/socket                                      \
 
37
                net/socket_stream                       \
 
38
                net/poll_table
 
39
 
 
40
OBJS += jpip/jpip                   \
 
41
                jpip/woi                    \
 
42
                jpip/request                \
 
43
                jpip/woi_composer           \
 
44
                jpip/databin_writer                     \
 
45
                jpip/cache_model                        \
 
46
                jpip/databin_server
 
47
 
 
48
OBJS += base                        \
 
49
                trace                       \
 
50
                app_info                                        \
 
51
                app_config                                      \
 
52
                args_parser                                     \
 
53
                client_info                                     \
 
54
                client_manager                                  
 
55
 
 
56
ifeq ($(DEBUG),yes)                                                     
 
57
FLAGS = -g -Wall -fmessage-length=0 -I src
 
58
else
 
59
FLAGS = -O2 -Wall -fmessage-length=0 -I src -DNDEBUG
 
60
endif
 
61
 
 
62
LIBS = -lpthread -lm -lrt -lconfig++ -llog4cpp -lproc
 
63
 
 
64
ifeq ($(PLATFORM),Solaris)
 
65
LIBS += -lnsl -lsocket
 
66
FLAGS += -D_NO_DIRENT -D_NO_READPROC
 
67
FLAGS += -D_USE_BOOST -D_NO_FAST_FILE
 
68
endif
 
69
 
 
70
MAIN = packet_information                               \
 
71
           basic_server                                         \
 
72
           esa_jpip_server                                      
 
73
 
 
74
obj/%.o: src/%.cc src/%.h
 
75
        mkdir -p obj/$$(dirname $*.cc)
 
76
        $(CXX) $(FLAGS) -c src/$*.cc -o obj/$*.o 
 
77
        
 
78
bin/esa_jpip_server: src/esa_jpip_server.cc $(OBJS:%=obj/%.o) version
 
79
        mkdir -p bin
 
80
        $(CXX) $(FLAGS) src/esa_jpip_server.cc -o $@ $(OBJS:%=obj/%.o) $(LIBS)
 
81
 
 
82
bin/basic_server: src/esa_jpip_server.cc $(OBJS:%=obj/%.o) version
 
83
        mkdir -p bin
 
84
        $(CXX) $(FLAGS) -DBASIC_SERVER src/esa_jpip_server.cc -o $@ $(OBJS:%=obj/%.o) $(LIBS)
 
85
 
 
86
bin/packet_information: src/packet_information.cc $(OBJS:%=obj/%.o)
 
87
        mkdir -p bin
 
88
        $(CXX) $(FLAGS) src/packet_information.cc -o $@ $(OBJS:%=obj/%.o) $(LIBS)
 
89
 
 
90
version: VERSION
 
91
        (n=$$(cat VERSION); echo "#define VERSION \"$$n\""> src/version.h)
 
92
        
 
93
doc: documentation
 
94
 
 
95
documentation:
 
96
        make -C doc
 
97
 
 
98
all: $(MAIN:%=bin/%)
 
99
 
 
100
clean:
 
101
        rm -rf obj bin log/* src/version.h
 
102
        make -C doc clean