OSDN Git Service

(LibGoblin)
[drdeamon64/drdeamon64.git] / libfiletype / 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: Dr.Deamon64 Control Center(CUI) Makefile
35 ##----------------------------------------------------------------------
36
37 # Section 1 : Setting Build Command ####################################
38 MAKE = make
39 CC = cc
40
41
42 SUPER_HEADER =  ../include/drd64_conf.h \
43                                 ../include/drd64_defines.h \
44                                 ../include/drd64_types.h \
45                                 ../include/drd64_error.h
46 USER_HEADER = ../include/libfiletype.h \
47                                 ../include/libbrownie.h
48
49 FLAGS_DEBUG = -g -Wall
50 FLAGS_COMPILE = 
51
52 TARGET = libfiletype.a
53 LIBRARY = ../libbrownie.a
54 OBJS = \
55                 drd64_libfiletype_main.o \
56                 drd64_libfiletype_common.o \
57                 drd64_libfiletype_textfile.o \
58                 drd64_libfiletype_binaryfile.o
59 HEADER = \
60                 drd64_libfiletype.h \
61                 drd64_libfiletype_main.h \
62                 drd64_libfiletype_common.h \
63                 drd64_libfiletype_textfile.h \
64                 drd64_libfiletype_binaryfile.h \
65                 $(SUPER_HEADER)
66
67 TEST_FLAGS_COMPILE = -I/usr/local/include
68 TEST_FLAGS_LINKER = -L/usr/local/lib -L..
69 TEST_TARGET = test_libfiletype
70 TEST_OBJS = \
71                 test_libfiletype.o \
72                 test_libfiletype_main.o \
73                 test_libfiletype_common.o \
74                 test_libfiletype_textfile.o \
75                 test_libfiletype_binaryfile.o
76 TEST_HEADER = \
77                 test_libfiletype.h
78 TESTDATA_FILES = \
79                 ../testdata/drd64_testdata
80
81 all:    $(TARGET) test
82 build:  $(TARGET)
83 test:   $(TEST_TARGET)
84         ./$(TEST_TARGET)
85
86
87 drd64_libfiletype_main.o: drd64_libfiletype_main.c $(HEADER)
88         $(CC) -c -o drd64_libfiletype_main.o $(FLAGS_DEBUG) $(FLAGS_COMPILE) \
89                                 drd64_libfiletype_main.c
90 drd64_libfiletype_common.o: drd64_libfiletype_common.c $(HEADER)
91         $(CC) -c -o drd64_libfiletype_common.o $(FLAGS_DEBUG) $(FLAGS_COMPILE) \
92                                 drd64_libfiletype_common.c
93 drd64_libfiletype_textfile.o: drd64_libfiletype_textfile.c $(HEADER)
94         $(CC) -c -o drd64_libfiletype_textfile.o $(FLAGS_DEBUG) $(FLAGS_COMPILE) \
95                                 drd64_libfiletype_textfile.c
96 drd64_libfiletype_binaryfile.o: drd64_libfiletype_binaryfile.c $(HEADER)
97         $(CC) -c -o drd64_libfiletype_binaryfile.o $(FLAGS_DEBUG) $(FLAGS_COMPILE) \
98                                 drd64_libfiletype_binaryfile.c
99
100 $(TARGET): $(OBJS) $(LIBRARY) $(TESTDATA_FILES)
101         rm -f ../$(TARGET)
102         make -C ../testdata all
103         ar rv $(TARGET) $(OBJS) $(LIBRARY)
104         ranlib $(TARGET)
105         cp $(TARGET) ..
106
107 $(TESTDATA_FILES):
108         make -C ../testdata all
109
110 test_libfiletype.o: test_libfiletype.c $(HEADER) $(TEST_HEADER)
111         $(CC) -c -o test_libfiletype.o \
112                                 $(FLAGS_DEBUG) $(FLAGS_COMPILE) $(TEST_FLAGS_COMPILE) \
113                                 test_libfiletype.c
114 test_libfiletype_main.o: test_libfiletype_main.c $(HEADER) $(TEST_HEADER)
115         $(CC) -c -o test_libfiletype_main.o \
116                                 $(FLAGS_DEBUG) $(FLAGS_COMPILE) $(TEST_FLAGS_COMPILE) \
117                                 test_libfiletype_main.c
118 test_libfiletype_common.o: test_libfiletype_common.c $(HEADER) $(TEST_HEADER)
119         $(CC) -c -o test_libfiletype_common.o \
120                                 $(FLAGS_DEBUG) $(FLAGS_COMPILE) $(TEST_FLAGS_COMPILE) \
121                                 test_libfiletype_common.c
122 test_libfiletype_textfile.o: test_libfiletype_textfile.c $(HEADER) $(TEST_HEADER)
123         $(CC) -c -o test_libfiletype_textfile.o \
124                                 $(FLAGS_DEBUG) $(FLAGS_COMPILE) $(TEST_FLAGS_COMPILE) \
125                                 test_libfiletype_textfile.c
126 test_libfiletype_binaryfile.o: test_libfiletype_binaryfile.c $(HEADER) $(TEST_HEADER)
127         $(CC) -c -o test_libfiletype_binaryfile.o \
128                                 $(FLAGS_DEBUG) $(FLAGS_COMPILE) $(TEST_FLAGS_COMPILE) \
129                                 test_libfiletype_binaryfile.c
130         
131 $(TEST_TARGET): $(TEST_OBJS) $(TARGET) $(LIBRARY)
132         $(CC) -o $(TEST_TARGET) $(FLAGS_DEBUG) $(TEST_OBJS) $(LIBRARY) $(TARGET) \
133                                 $(TEST_FLAGS_LINKER) -lcunit -lbrownie
134
135 $(LIBRARY):
136         $(MAKE) -C ../libbrownie all clean
137
138 clean:
139         rm -f *.o
140         rm -f *.xml
141         rm -f *.log
142         rm -f $(TARGET)
143         rm -f $(TEST_TARGET)
144         rm -f *.core
145
146