t-suw****@users*****
t-suw****@users*****
2007年 9月 11日 (火) 23:08:20 JST
Index: AquaSKK/src/test/Makefile
diff -u AquaSKK/src/test/Makefile:1.1.2.3 AquaSKK/src/test/Makefile:1.1.2.4
--- AquaSKK/src/test/Makefile:1.1.2.3 Sun Sep 9 11:59:49 2007
+++ AquaSKK/src/test/Makefile Tue Sep 11 23:08:20 2007
@@ -2,37 +2,37 @@
### unit test
###
-VPATH = $(shell find .. -type d -a ! -name CVS -a ! -name test -a ! -name ..) ../..
-CXXFLAGS= -g $(foreach dir,$(VPATH),-I$(dir))
+VPATH = $(filter-out %/CVS,$(wildcard ../*)) ../..
+CPPFLAGS= $(foreach dir,$(VPATH),-I$(dir))
+SRCS = $(wildcard *_TEST.cpp)
+OBJS = $(SRCS:.cpp=.o)
+PROGS = $(SRCS:.cpp=)
+LIB = libtest.a
+LDFLAGS = -L. -ltest
-TARGET = SKKKeymapEntry_TEST SKKKeymap_TEST SKKRuleTreeNode_TEST SKKRomanKanaConverter_TEST
+LIBOBJS = SKKKeymapEntry.o SKKKeymap.o SKKRuleTreeNode.o SKKRomanKanaConverter.o \
+ SKKInputBuffer.o jconv.o
-define BUILD_template
-$(1): $(1).o
- $(CXX) -o $(1) $(1).o
-endef
+all: $(LIB) $(PROGS)
-all: build
+test: all
+ for prog in $(PROGS); do ./$$prog; done
-$(foreach prog,$(TARGET),$(eval $(call BUILD_template,$(prog))))
+clean:
+ $(RM) -rf $(PROGS) $(LIB) *.o .depend
-build: $(TARGET)
+$(LIB): $(LIBOBJS)
+ $(AR) -rsu $@ $(LIBOBJS)
-###
-### rule
-###
-clean:
- $(RM) $(TARGET) *.o $(LOG)
+$(PROGS): %: %.o $(LIB)
+ $(CXX) -o $@ $< $(LDFLAGS)
+
+.depend/%.d: %.cpp .depend
+ $(CXX) -MM $(CPPFLAGS) $< | sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' > $@
-test: build
- for i in $(TARGET); do ./$$i ; done
+.depend:
+ mkdir .depend
-###
-### dependencies
-###
-
-SKKKeymapEntry_TEST.o: SKKKeymapEntry_TEST.cpp SKKKeymapEntry.cpp SKKKeymapEntry.h
-SKKKeymap_TEST.o: SKKKeymap_TEST.cpp SKKKeymapEntry.cpp SKKKeymapEntry.h SKKKeymap.cpp SKKKeymap.h
-SKKRuleTreeNode_TEST.o: SKKRuleTreeNode_TEST.cpp SKKRuleTreeNode.h SKKRuleTreeNode.cpp
-SKKRomanKanaConverter_TEST.o: SKKRomanKanaConverter_TEST.cpp SKKRomanKanaConverter.h SKKRomanKanaConverter.cpp \
- SKKRuleTreeNode.h SKKRuleTreeNode.cpp
+ifneq ($(MAKECMDGOALS), clean)
+-include $(addprefix .depend/,$(LIBOBJS:.o=.d) $(OBJS:.o=.d))
+endif
Index: AquaSKK/src/test/SKKKeymapEntry_TEST.cpp
diff -u AquaSKK/src/test/SKKKeymapEntry_TEST.cpp:1.1.2.1 AquaSKK/src/test/SKKKeymapEntry_TEST.cpp:1.1.2.2
--- AquaSKK/src/test/SKKKeymapEntry_TEST.cpp:1.1.2.1 Sun Aug 26 01:34:45 2007
+++ AquaSKK/src/test/SKKKeymapEntry_TEST.cpp Tue Sep 11 23:08:20 2007
@@ -1,6 +1,7 @@
-#include "SKKKeyState.h"
-#include "SKKKeymapEntry.cpp"
#include <iostream>
+#include "SKKEventParam.h"
+#include "SKKKeyState.h"
+#include "SKKKeymapEntry.h"
int main() {
SKKKeymapEntry entry;
Index: AquaSKK/src/test/SKKKeymap_TEST.cpp
diff -u AquaSKK/src/test/SKKKeymap_TEST.cpp:1.1.2.2 AquaSKK/src/test/SKKKeymap_TEST.cpp:1.1.2.3
--- AquaSKK/src/test/SKKKeymap_TEST.cpp:1.1.2.2 Sat Sep 8 22:35:19 2007
+++ AquaSKK/src/test/SKKKeymap_TEST.cpp Tue Sep 11 23:08:20 2007
@@ -1,6 +1,6 @@
#include <iostream>
-#include "SKKKeymap.cpp"
-#include "SKKKeymapEntry.cpp"
+#include "SKKKeymap.h"
+#include "SKKKeymapEntry.h"
int main() {
SKKKeymap keymap;
Index: AquaSKK/src/test/SKKRomanKanaConverter_TEST.cpp
diff -u AquaSKK/src/test/SKKRomanKanaConverter_TEST.cpp:1.1.2.2 AquaSKK/src/test/SKKRomanKanaConverter_TEST.cpp:1.1.2.3
--- AquaSKK/src/test/SKKRomanKanaConverter_TEST.cpp:1.1.2.2 Sun Sep 9 11:59:49 2007
+++ AquaSKK/src/test/SKKRomanKanaConverter_TEST.cpp Tue Sep 11 23:08:20 2007
@@ -1,6 +1,4 @@
-#include "SKKRomanKanaConverter.cpp"
-#include "SKKRuleTreeNode.cpp"
-#include "jconv.cpp"
+#include "SKKRomanKanaConverter.h"
int main() {
SKKRomanKanaConverter& conv = SKKRomanKanaConverter::theInstance();
Index: AquaSKK/src/test/SKKRuleTreeNode_TEST.cpp
diff -u AquaSKK/src/test/SKKRuleTreeNode_TEST.cpp:1.1.2.1 AquaSKK/src/test/SKKRuleTreeNode_TEST.cpp:1.1.2.2
--- AquaSKK/src/test/SKKRuleTreeNode_TEST.cpp:1.1.2.1 Sun Sep 9 11:59:49 2007
+++ AquaSKK/src/test/SKKRuleTreeNode_TEST.cpp Tue Sep 11 23:08:20 2007
@@ -1,4 +1,4 @@
-#include "SKKRuleTreeNode.cpp"
+#include "SKKRuleTreeNode.h"
int main() {
SKKRuleTreeNode root;