1 ##DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64
3 # D r . D e a m o n 6 4
4 # for INTEL64(R), AMD64(R)
6 # Copyright(C) 2007-2009 Koine Yuusuke(koinec). All rights reserved.
8 # Redistribution and use in source and binary forms, with or without
9 # modification, are permitted provided that the following conditions are met:
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.
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.
29 ##DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64DrDeAmOn64
31 ## File Info -----------------------------------------------------------
35 ##----------------------------------------------------------------------
37 # Section 1 : Setting Build Command ####################################
42 SUPER_HEADER = ../include/drd64_conf.h \
43 ../include/drd64_defines.h \
44 ../include/drd64_types.h \
45 ../include/drd64_error.h
49 FLAGS_DEBUG = -g -Wall
51 LIBGOBLIN_TARGET = libgoblin.a
52 LIBGOBLIN_OBJS = drd64_libgoblin_system.o \
53 drd64_libgoblin_checkbin.o \
54 drd64_libgoblin_analyze.o \
55 drd64_libgoblin_elf.o \
56 drd64_libgoblin_elf64.o \
57 drd64_libgoblin_elf32.o \
58 drd64_libgoblin_dwarf.o \
59 drd64_libgoblin_dwarf_abbrev.o \
60 drd64_libgoblin_dwarf_info.o \
61 drd64_libgoblin_dwarf_common.o \
62 drd64_libgoblin_binfo.o
63 LIBGOBLIN_HEADER = drd64_libgoblin.h \
64 drd64_libgoblin_binfo.h \
65 drd64_libgoblin_checkbin.h \
66 drd64_libgoblin_analyze.h \
67 drd64_libgoblin_elf.h \
68 drd64_libgoblin_elf64.h \
69 drd64_libgoblin_elf32.h \
70 drd64_libgoblin_dwarf.h \
71 drd64_libgoblin_dwarf_abbrev.h \
72 drd64_libgoblin_dwarf_info.h \
73 drd64_libgoblin_dwarf_common.h \
74 drd64_libgoblin_dwarf_str.h \
75 ../include/libgoblin.h \
78 TESTPG_TARGET = elftest
81 all: $(LIBGOBLIN_TARGET) $(TESTPG_TARGET)
83 $(LIBGOBLIN_TARGET): $(LIBGOBLIN_OBJS)
84 ar rv $(LIBGOBLIN_TARGET) $(LIBGOBLIN_OBJS)
85 ranlib $(LIBGOBLIN_TARGET)
86 cp $(LIBGOBLIN_TARGET) ..
88 drd64_libgoblin_system.o: drd64_libgoblin_system.c $(LIBBROWNIE_HEADER)
89 gcc -c -o drd64_libgoblin_system.o $(FLAGS_DEBUG) \
90 drd64_libgoblin_system.c
91 drd64_libgoblin_binfo.o: drd64_libgoblin_binfo.c $(LIBBROWNIE_HEADER)
92 gcc -c -o drd64_libgoblin_binfo.o $(FLAGS_DEBUG) \
93 drd64_libgoblin_binfo.c
94 drd64_libgoblin_checkbin.o: drd64_libgoblin_checkbin.c $(LIBBROWNIE_HEADER)
95 gcc -c -o drd64_libgoblin_checkbin.o $(FLAGS_DEBUG) \
96 drd64_libgoblin_checkbin.c
97 drd64_libgoblin_elf.o: drd64_libgoblin_elf.c $(LIBBROWNIE_HEADER)
98 gcc -c -o drd64_libgoblin_elf.o $(FLAGS_DEBUG) \
100 drd64_libgoblin_elf64.o: drd64_libgoblin_elf64.c $(LIBBROWNIE_HEADER)
101 gcc -c -o drd64_libgoblin_elf64.o $(FLAGS_DEBUG) \
102 drd64_libgoblin_elf64.c
103 drd64_libgoblin_elf32.o: drd64_libgoblin_elf32.c $(LIBBROWNIE_HEADER)
104 gcc -c -o drd64_libgoblin_elf32.o $(FLAGS_DEBUG) \
105 drd64_libgoblin_elf32.c
106 drd64_libgoblin_analyze.o: drd64_libgoblin_analyze.c $(LIBBROWNIE_HEADER)
107 gcc -c -o drd64_libgoblin_analyze.o $(FLAGS_DEBUG) \
108 drd64_libgoblin_analyze.c
109 drd64_libgoblin_dwarf.o: drd64_libgoblin_dwarf.c $(LIBBROWNIE_HEADER)
110 gcc -c -o drd64_libgoblin_dwarf.o $(FLAGS_DEBUG) \
111 drd64_libgoblin_dwarf.c
112 drd64_libgoblin_dwarf_abbrev.o: drd64_libgoblin_dwarf_abbrev.c $(LIBBROWNIE_HEADER)
113 gcc -c -o drd64_libgoblin_dwarf_abbrev.o $(FLAGS_DEBUG) \
114 drd64_libgoblin_dwarf_abbrev.c
115 drd64_libgoblin_dwarf_info.o: \
116 drd64_libgoblin_dwarf_info.c $(LIBBROWNIE_HEADER)
117 gcc -c -o drd64_libgoblin_dwarf_info.o $(FLAGS_DEBUG) \
118 drd64_libgoblin_dwarf_info.c
119 drd64_libgoblin_dwarf_common.o: drd64_libgoblin_dwarf_common.c $(LIBBROWNIE_HEADER)
120 gcc -c -o drd64_libgoblin_dwarf_common.o $(FLAGS_DEBUG) \
121 drd64_libgoblin_dwarf_common.c
123 $(TESTPG_TARGET): elftest.c ../include/libgoblin.h $(LIBGOBLIN_TARGET)
124 gcc -g -o $(TESTPG_TARGET) elftest.c $(LIBGOBLIN_TARGET)
129 rm -f $(LIBGOBLIN_TARGET)
130 rm -f $(TESTPG_TARGET)