OSDN Git Service

* CreateFile: 2015/11/15(Sun) 21:15 drd64_libgoblin_addrinfo.[ch]
[drdeamon64/drdeamon64.git] / libgoblin / Makefile
1 ##DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64
2 #
3 #                         D r . D e a m o n  6 4
4 #                        for INTEL64(R), AMD64(R)
5 #    
6 #   Copyright(C) 2007-2009 Koine Yuusuke(koinec). All rights reserved.
7 #
8 # Redistribution and use in source and binary forms, with or without
9 # modification, are permitted provided that the following conditions are met:
10 #
11 # 1. Redistributions of source code must retain the above copyright notice,
12 #    this list of conditions and the following disclaimer.
13 # 2. Redistributions in binary form must reproduce the above copyright
14 #    notice, this list of conditions and the following disclaimer in the
15 #    documentation and/or other materials provided with the distribution.
16 #
17 # THIS SOFTWARE IS PROVIDED BY Koine Yuusuke(koinec) ``AS IS'' AND ANY
18 # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20 # DISCLAIMED. IN NO EVENT SHALL Koine Yuusuke(koinec) OR CONTRIBUTORS BE
21 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
22 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
23 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
24 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
25 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
26 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
27 # OF THE POSSIBILITY OF SUCH DAMAGE.
28 #
29 ##DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64
30
31 ## File Info -----------------------------------------------------------
32 # File: Makefile
33 # Function: 
34 # Comment: 
35 ##----------------------------------------------------------------------
36
37 # Section 1 : Setting Build Command ####################################
38 MAKE = make
39
40 SUPER_HEADER =  ../include/drd64_conf.h \
41                                 ../include/drd64_defines.h \
42                                 ../include/drd64_types.h \
43                                 ../include/drd64_error.h
44 USER_HEADER = ../include/libgoblin.h
45 LIB_HEADER = ../include/libfiletype.h
46
47 FLAGS_DEBUG = -g -Wall
48
49 TARGET = libgoblin.a
50 OBJS = drd64_libgoblin_system.o \
51                 drd64_libgoblin_binfo.o \
52                 drd64_libgoblin_checkbin.o \
53                 drd64_libgoblin_analyze.o \
54                 drd64_libgoblin_readbin.o \
55                 drd64_libgoblin_symwork.o \
56                 drd64_libgoblin_addrinfo.o \
57                 drd64_libgoblin_elf.o \
58                 drd64_libgoblin_elf64.o \
59                 drd64_libgoblin_elf32.o \
60                 drd64_libgoblin_dwarf.o \
61                 drd64_libgoblin_dwarf_abbrev.o \
62                 drd64_libgoblin_dwarf_info.o \
63                 drd64_libgoblin_dwarf_line.o \
64                 drd64_libgoblin_dwarf_common.o \
65                 drd64_libgoblin_debug_elf.o \
66                 drd64_libgoblin_debug_symwork.o
67 HEADER = drd64_libgoblin.h \
68                 drd64_libgoblin_type.h \
69                 drd64_libgoblin_binfo.h \
70                 drd64_libgoblin_checkbin.h \
71                 drd64_libgoblin_analyze.h \
72                 drd64_libgoblin_readbin.h \
73                 drd64_libgoblin_symwork.h \
74                 drd64_libgoblin_elf.h \
75                 drd64_libgoblin_elf64.h \
76                 drd64_libgoblin_elf32.h \
77                 drd64_libgoblin_dwarf.h \
78                 drd64_libgoblin_dwarf_abbrev.h \
79                 drd64_libgoblin_dwarf_info.h \
80                 drd64_libgoblin_dwarf_line.h \
81                 drd64_libgoblin_dwarf_common.h \
82                 drd64_libgoblin_dwarf_str.h \
83                 drd64_libgoblin_debug_elf.h \
84                 drd64_libgoblin_debug_symwork.h \
85                 $(USER_HEADER) $(SUPER_HEADER) $(LIB_HEADER) 
86 LIBRARY = ../libfiletype.a
87
88 TEST_FLAGS_COMPILE = -I/usr/local/include
89 TEST_FLAGS_LINKER = -L/usr/local/lib -lcunit -L.. -lfiletype -lbrownie
90 TEST_TARGET = test_libgoblin
91 TEST_HEADER = test_libgoblin.h
92 TEST_OBJS = test_libgoblin.o \
93                         test_libgoblin_system.o \
94                         test_libgoblin_binfo.o \
95                         test_libgoblin_readbin.o \
96                         test_libgoblin_symwork.o
97
98 TESTPROG = ../dwarftest
99
100
101 all:    $(TARGET) test
102 build:  $(TARGET)
103 test:   $(TEST_TARGET) $(TESTPROG)
104         ./$(TEST_TARGET)
105
106
107 $(TARGET): $(OBJS) $(LIB_OBJS)
108         ar rv $(TARGET) $(OBJS)
109         ranlib $(TARGET)
110         cp $(TARGET) ..
111
112 drd64_libgoblin_system.o: drd64_libgoblin_system.c $(HEADER)
113         $(CC) -c -o drd64_libgoblin_system.o $(FLAGS_DEBUG) \
114                                 drd64_libgoblin_system.c
115 drd64_libgoblin_binfo.o: drd64_libgoblin_binfo.c $(HEADER)
116         $(CC) -c -o drd64_libgoblin_binfo.o $(FLAGS_DEBUG) \
117                                 drd64_libgoblin_binfo.c
118 drd64_libgoblin_checkbin.o: drd64_libgoblin_checkbin.c $(HEADER)
119         $(CC) -c -o drd64_libgoblin_checkbin.o $(FLAGS_DEBUG) \
120                                 drd64_libgoblin_checkbin.c
121 drd64_libgoblin_analyze.o: drd64_libgoblin_analyze.c $(HEADER)
122         $(CC) -c -o drd64_libgoblin_analyze.o $(FLAGS_DEBUG) \
123                                 drd64_libgoblin_analyze.c
124 drd64_libgoblin_readbin.o: drd64_libgoblin_readbin.c $(HEADER)
125         $(CC) -c -o drd64_libgoblin_readbin.o $(FLAGS_DEBUG) \
126                                 drd64_libgoblin_readbin.c
127 drd64_libgoblin_symwork.o: drd64_libgoblin_symwork.c $(HEADER)
128         $(CC) -c -o drd64_libgoblin_symwork.o $(FLAGS_DEBUG) \
129                                 drd64_libgoblin_symwork.c
130 drd64_libgoblin_addrinfo.o: drd64_libgoblin_addrinfo.c $(HEADER)
131         $(CC) -c -o drd64_libgoblin_addrinfo.o $(FLAGS_DEBUG) \
132                                 drd64_libgoblin_addrinfo.c
133
134 drd64_libgoblin_elf.o: drd64_libgoblin_elf.c $(HEADER)
135         $(CC) -c -o drd64_libgoblin_elf.o $(FLAGS_DEBUG) \
136                                 drd64_libgoblin_elf.c
137 drd64_libgoblin_elf64.o: drd64_libgoblin_elf64.c $(HEADER)
138         $(CC) -c -o drd64_libgoblin_elf64.o $(FLAGS_DEBUG) \
139                                 drd64_libgoblin_elf64.c
140 drd64_libgoblin_elf32.o: drd64_libgoblin_elf32.c $(HEADER)
141         $(CC) -c -o drd64_libgoblin_elf32.o $(FLAGS_DEBUG) \
142                                 drd64_libgoblin_elf32.c
143
144 drd64_libgoblin_dwarf.o: drd64_libgoblin_dwarf.c $(HEADER)
145         $(CC) -c -o drd64_libgoblin_dwarf.o $(FLAGS_DEBUG) \
146                                 drd64_libgoblin_dwarf.c
147 drd64_libgoblin_dwarf_abbrev.o: drd64_libgoblin_dwarf_abbrev.c $(HEADER)
148         $(CC) -c -o drd64_libgoblin_dwarf_abbrev.o $(FLAGS_DEBUG) \
149                                 drd64_libgoblin_dwarf_abbrev.c
150 drd64_libgoblin_dwarf_info.o: \
151                 drd64_libgoblin_dwarf_info.c $(HEADER)
152         $(CC) -c -o drd64_libgoblin_dwarf_info.o $(FLAGS_DEBUG) \
153                                 drd64_libgoblin_dwarf_info.c
154 drd64_libgoblin_dwarf_line.o: \
155                 drd64_libgoblin_dwarf_line.c $(HEADER)
156         $(CC) -c -o drd64_libgoblin_dwarf_line.o $(FLAGS_DEBUG) \
157                                 drd64_libgoblin_dwarf_line.c
158 drd64_libgoblin_dwarf_common.o: drd64_libgoblin_dwarf_common.c $(HEADER)
159         $(CC) -c -o drd64_libgoblin_dwarf_common.o $(FLAGS_DEBUG) \
160                                 drd64_libgoblin_dwarf_common.c
161
162 drd64_libgoblin_debug_elf.o: drd64_libgoblin_debug_elf.c $(HEADER)
163         $(CC) -c -o drd64_libgoblin_debug_elf.o $(FLAGS_DEBUG) \
164                                 drd64_libgoblin_debug_elf.c
165 drd64_libgoblin_debug_symwork.o: drd64_libgoblin_debug_symwork.c $(HEADER)
166         $(CC) -c -o drd64_libgoblin_debug_symwork.o $(FLAGS_DEBUG) \
167                                 drd64_libgoblin_debug_symwork.c
168
169
170 #$(TEST_TARGET): elftest.c ../include/libgoblin.h $(TARGET)
171 #       $(CC) -g -o $(TEST_TARGET) elftest.c $(TARGET)
172
173 test_libgoblin.o: test_libgoblin.c $(HEADER) $(TEST_HEADER)
174         $(CC) -c -o test_libgoblin.o \
175                         $(FLAGS_DEBUG) $(FLAGS_COMPILE) $(TEST_FLAGS_COMPILE) \
176                         test_libgoblin.c
177 test_libgoblin_system.o: test_libgoblin_system.c $(HEADER) $(TEST_HEADER)
178         $(CC) -c -o test_libgoblin_system.o \
179                         $(FLAGS_DEBUG) $(FLAGS_COMPILE) $(TEST_FLAGS_COMPILE) \
180                         test_libgoblin_system.c
181 test_libgoblin_binfo.o: test_libgoblin_binfo.c $(HEADER) $(TEST_HEADER)
182         $(CC) -c -o test_libgoblin_binfo.o \
183                         $(FLAGS_DEBUG) $(FLAGS_COMPILE) $(TEST_FLAGS_COMPILE) \
184                         test_libgoblin_binfo.c
185 test_libgoblin_readbin.o: test_libgoblin_readbin.c $(HEADER) $(TEST_HEADER)
186         $(CC) -c -o test_libgoblin_readbin.o \
187                         $(FLAGS_DEBUG) $(FLAGS_COMPILE) $(TEST_FLAGS_COMPILE) \
188                         test_libgoblin_readbin.c
189 test_libgoblin_symwork.o: test_libgoblin_symwork.c $(HEADER) $(TEST_HEADER)
190         $(CC) -c -o test_libgoblin_symwork.o \
191                         $(FLAGS_DEBUG) $(FLAGS_COMPILE) $(TEST_FLAGS_COMPILE) \
192                         test_libgoblin_symwork.c
193
194 $(TEST_TARGET): $(TEST_OBJS) $(TARGET)
195         $(CC) -o $(TEST_TARGET) $(FLAGS_DEBUG) $(TEST_OBJS) $(TARGET) $(TEST_FLAGS_LINKER)
196
197
198 $(TESTPROG):
199         $(MAKE) -C ../testpg/testpg02 all clean
200
201
202 clean:
203         rm -f *.o
204         rm -f *.xml
205         rm -f *.core
206         rm -f $(TARGET)
207         rm -f $(TEST_TARGET)
208