diff --git a/Makefile b/Makefile
index 4d855a7..aedfdb3 100644
--- a/Makefile
+++ b/Makefile
@@ -10,9 +10,9 @@
 #
 TOPDIR					?= .
 RULEDIR					?= $(TOPDIR)/mk
-NAME					 = test
-TARGET					 = $(NAME).a
-SUBDIR					 =
+NAME					 = sample
+TARGET					 = $(NAME)
+SUBDIRS					 = libraries
 
 
 
@@ -25,11 +25,11 @@
 # 以下、オプションを適宜変更してください。
 #
 
-INCLUDES				+=
+INCLUDES				+= -Ilibraries/include
 CFLAGS					+=
 CXXFLAGS				+=
 LDFLAGS					+=
-LIBS					+=
+LIBS					+= -Llibraries -lcalc
 
 CLEAN_FILES				+=
 CLEAN_DIRS				+=

diff --git a/Makefile b/Makefile
index 4d855a7..aedfdb3 100644
--- a/Makefile
+++ b/Makefile
@@ -10,9 +10,9 @@
 #
 TOPDIR					?= .
 RULEDIR					?= $(TOPDIR)/mk
-NAME					 = test
-TARGET					 = $(NAME).a
-SUBDIR					 =
+NAME					 = sample
+TARGET					 = $(NAME)
+SUBDIRS					 = libraries
 
 
 
@@ -25,11 +25,11 @@
 # 以下、オプションを適宜変更してください。
 #
 
-INCLUDES				+=
+INCLUDES				+= -Ilibraries/include
 CFLAGS					+=
 CXXFLAGS				+=
 LDFLAGS					+=
-LIBS					+=
+LIBS					+= -Llibraries -lcalc
 
 CLEAN_FILES				+=
 CLEAN_DIRS				+=
diff --git a/libraries/Makefile b/libraries/Makefile
new file mode 100644
index 0000000..88abe23
--- /dev/null
+++ b/libraries/Makefile
@@ -0,0 +1,43 @@
+# ==============================================================================
+#  Makefile
+# ==============================================================================
+#
+#  TOPDIR  : トップディレクトリ
+#  RULEDIR : Meke のルール一式が格納されているディレクトリ
+#  NAME    : モジュール名         (拡張子を含めないこと)
+#  TARGET  : モジュールファイル名 (拡張子を含めること)
+#  SUBDIR  : サブディレクトリ     (処理したい順に空白区切りで記述すること)
+#
+TOPDIR					?= ..
+RULEDIR					?= $(TOPDIR)/mk
+NAME					 = libcalc
+TARGET					 = $(NAME).so
+SUBDIRS					 = 
+
+
+# ------------------------------------------------------------------------------
+include $(RULEDIR)/*-cmd.mk
+include $(RULEDIR)/*-conf.mk
+include $(RULEDIR)/*-auto.mk
+# ------------------------------------------------------------------------------
+#
+# 以下、オプションを適宜変更してください。
+#
+
+INCLUDES				+=
+CFLAGS					+=
+CXXFLAGS				+=
+LDFLAGS					+=
+LIBS					+=
+
+CLEAN_FILES				+=
+CLEAN_DIRS				+=
+
+.DEFAULT_GOAL			:= all
+
+
+
+# ------------------------------------------------------------------------------
+include $(RULEDIR)/*-rule.mk
+# ------------------------------------------------------------------------------
+

diff --git a/Makefile b/Makefile
index 4d855a7..aedfdb3 100644
--- a/Makefile
+++ b/Makefile
@@ -10,9 +10,9 @@
 #
 TOPDIR					?= .
 RULEDIR					?= $(TOPDIR)/mk
-NAME					 = test
-TARGET					 = $(NAME).a
-SUBDIR					 =
+NAME					 = sample
+TARGET					 = $(NAME)
+SUBDIRS					 = libraries
 
 
 
@@ -25,11 +25,11 @@
 # 以下、オプションを適宜変更してください。
 #
 
-INCLUDES				+=
+INCLUDES				+= -Ilibraries/include
 CFLAGS					+=
 CXXFLAGS				+=
 LDFLAGS					+=
-LIBS					+=
+LIBS					+= -Llibraries -lcalc
 
 CLEAN_FILES				+=
 CLEAN_DIRS				+=
diff --git a/libraries/Makefile b/libraries/Makefile
new file mode 100644
index 0000000..88abe23
--- /dev/null
+++ b/libraries/Makefile
@@ -0,0 +1,43 @@
+# ==============================================================================
+#  Makefile
+# ==============================================================================
+#
+#  TOPDIR  : トップディレクトリ
+#  RULEDIR : Meke のルール一式が格納されているディレクトリ
+#  NAME    : モジュール名         (拡張子を含めないこと)
+#  TARGET  : モジュールファイル名 (拡張子を含めること)
+#  SUBDIR  : サブディレクトリ     (処理したい順に空白区切りで記述すること)
+#
+TOPDIR					?= ..
+RULEDIR					?= $(TOPDIR)/mk
+NAME					 = libcalc
+TARGET					 = $(NAME).so
+SUBDIRS					 = 
+
+
+# ------------------------------------------------------------------------------
+include $(RULEDIR)/*-cmd.mk
+include $(RULEDIR)/*-conf.mk
+include $(RULEDIR)/*-auto.mk
+# ------------------------------------------------------------------------------
+#
+# 以下、オプションを適宜変更してください。
+#
+
+INCLUDES				+=
+CFLAGS					+=
+CXXFLAGS				+=
+LDFLAGS					+=
+LIBS					+=
+
+CLEAN_FILES				+=
+CLEAN_DIRS				+=
+
+.DEFAULT_GOAL			:= all
+
+
+
+# ------------------------------------------------------------------------------
+include $(RULEDIR)/*-rule.mk
+# ------------------------------------------------------------------------------
+
diff --git a/libraries/include/calc.h b/libraries/include/calc.h
new file mode 100644
index 0000000..e28d00f
--- /dev/null
+++ b/libraries/include/calc.h
@@ -0,0 +1,8 @@
+#ifndef CALC_H
+#define CALC_H
+
+
+int add(int a, int b);
+
+#endif
+

diff --git a/Makefile b/Makefile
index 4d855a7..aedfdb3 100644
--- a/Makefile
+++ b/Makefile
@@ -10,9 +10,9 @@
 #
 TOPDIR					?= .
 RULEDIR					?= $(TOPDIR)/mk
-NAME					 = test
-TARGET					 = $(NAME).a
-SUBDIR					 =
+NAME					 = sample
+TARGET					 = $(NAME)
+SUBDIRS					 = libraries
 
 
 
@@ -25,11 +25,11 @@
 # 以下、オプションを適宜変更してください。
 #
 
-INCLUDES				+=
+INCLUDES				+= -Ilibraries/include
 CFLAGS					+=
 CXXFLAGS				+=
 LDFLAGS					+=
-LIBS					+=
+LIBS					+= -Llibraries -lcalc
 
 CLEAN_FILES				+=
 CLEAN_DIRS				+=
diff --git a/libraries/Makefile b/libraries/Makefile
new file mode 100644
index 0000000..88abe23
--- /dev/null
+++ b/libraries/Makefile
@@ -0,0 +1,43 @@
+# ==============================================================================
+#  Makefile
+# ==============================================================================
+#
+#  TOPDIR  : トップディレクトリ
+#  RULEDIR : Meke のルール一式が格納されているディレクトリ
+#  NAME    : モジュール名         (拡張子を含めないこと)
+#  TARGET  : モジュールファイル名 (拡張子を含めること)
+#  SUBDIR  : サブディレクトリ     (処理したい順に空白区切りで記述すること)
+#
+TOPDIR					?= ..
+RULEDIR					?= $(TOPDIR)/mk
+NAME					 = libcalc
+TARGET					 = $(NAME).so
+SUBDIRS					 = 
+
+
+# ------------------------------------------------------------------------------
+include $(RULEDIR)/*-cmd.mk
+include $(RULEDIR)/*-conf.mk
+include $(RULEDIR)/*-auto.mk
+# ------------------------------------------------------------------------------
+#
+# 以下、オプションを適宜変更してください。
+#
+
+INCLUDES				+=
+CFLAGS					+=
+CXXFLAGS				+=
+LDFLAGS					+=
+LIBS					+=
+
+CLEAN_FILES				+=
+CLEAN_DIRS				+=
+
+.DEFAULT_GOAL			:= all
+
+
+
+# ------------------------------------------------------------------------------
+include $(RULEDIR)/*-rule.mk
+# ------------------------------------------------------------------------------
+
diff --git a/libraries/include/calc.h b/libraries/include/calc.h
new file mode 100644
index 0000000..e28d00f
--- /dev/null
+++ b/libraries/include/calc.h
@@ -0,0 +1,8 @@
+#ifndef CALC_H
+#define CALC_H
+
+
+int add(int a, int b);
+
+#endif
+
diff --git a/libraries/src/calc.c b/libraries/src/calc.c
new file mode 100644
index 0000000..059d557
--- /dev/null
+++ b/libraries/src/calc.c
@@ -0,0 +1,6 @@
+#include <stdio.h>
+
+int add(int a, int b)
+{
+	return (a + b);
+}

diff --git a/Makefile b/Makefile
index 4d855a7..aedfdb3 100644
--- a/Makefile
+++ b/Makefile
@@ -10,9 +10,9 @@
 #
 TOPDIR					?= .
 RULEDIR					?= $(TOPDIR)/mk
-NAME					 = test
-TARGET					 = $(NAME).a
-SUBDIR					 =
+NAME					 = sample
+TARGET					 = $(NAME)
+SUBDIRS					 = libraries
 
 
 
@@ -25,11 +25,11 @@
 # 以下、オプションを適宜変更してください。
 #
 
-INCLUDES				+=
+INCLUDES				+= -Ilibraries/include
 CFLAGS					+=
 CXXFLAGS				+=
 LDFLAGS					+=
-LIBS					+=
+LIBS					+= -Llibraries -lcalc
 
 CLEAN_FILES				+=
 CLEAN_DIRS				+=
diff --git a/libraries/Makefile b/libraries/Makefile
new file mode 100644
index 0000000..88abe23
--- /dev/null
+++ b/libraries/Makefile
@@ -0,0 +1,43 @@
+# ==============================================================================
+#  Makefile
+# ==============================================================================
+#
+#  TOPDIR  : トップディレクトリ
+#  RULEDIR : Meke のルール一式が格納されているディレクトリ
+#  NAME    : モジュール名         (拡張子を含めないこと)
+#  TARGET  : モジュールファイル名 (拡張子を含めること)
+#  SUBDIR  : サブディレクトリ     (処理したい順に空白区切りで記述すること)
+#
+TOPDIR					?= ..
+RULEDIR					?= $(TOPDIR)/mk
+NAME					 = libcalc
+TARGET					 = $(NAME).so
+SUBDIRS					 = 
+
+
+# ------------------------------------------------------------------------------
+include $(RULEDIR)/*-cmd.mk
+include $(RULEDIR)/*-conf.mk
+include $(RULEDIR)/*-auto.mk
+# ------------------------------------------------------------------------------
+#
+# 以下、オプションを適宜変更してください。
+#
+
+INCLUDES				+=
+CFLAGS					+=
+CXXFLAGS				+=
+LDFLAGS					+=
+LIBS					+=
+
+CLEAN_FILES				+=
+CLEAN_DIRS				+=
+
+.DEFAULT_GOAL			:= all
+
+
+
+# ------------------------------------------------------------------------------
+include $(RULEDIR)/*-rule.mk
+# ------------------------------------------------------------------------------
+
diff --git a/libraries/include/calc.h b/libraries/include/calc.h
new file mode 100644
index 0000000..e28d00f
--- /dev/null
+++ b/libraries/include/calc.h
@@ -0,0 +1,8 @@
+#ifndef CALC_H
+#define CALC_H
+
+
+int add(int a, int b);
+
+#endif
+
diff --git a/libraries/src/calc.c b/libraries/src/calc.c
new file mode 100644
index 0000000..059d557
--- /dev/null
+++ b/libraries/src/calc.c
@@ -0,0 +1,6 @@
+#include <stdio.h>
+
+int add(int a, int b)
+{
+	return (a + b);
+}
diff --git a/mk/all-rule.mk b/mk/all-rule.mk
index 3cf2923..96faef4 100644
--- a/mk/all-rule.mk
+++ b/mk/all-rule.mk
@@ -6,7 +6,7 @@
 	@for subdir in $(SUBDIRS); do	\
 		$(MAKE) all -C $$subdir;	\
 	done
-ifneq ($(strip $(TOP_TARGET)),)
-	$(MAKE) $(TOP_TARGET)
+ifneq ($(strip $(TARGET)),)
+	$(MAKE) $(TARGET)
 endif
 

diff --git a/Makefile b/Makefile
index 4d855a7..aedfdb3 100644
--- a/Makefile
+++ b/Makefile
@@ -10,9 +10,9 @@
 #
 TOPDIR					?= .
 RULEDIR					?= $(TOPDIR)/mk
-NAME					 = test
-TARGET					 = $(NAME).a
-SUBDIR					 =
+NAME					 = sample
+TARGET					 = $(NAME)
+SUBDIRS					 = libraries
 
 
 
@@ -25,11 +25,11 @@
 # 以下、オプションを適宜変更してください。
 #
 
-INCLUDES				+=
+INCLUDES				+= -Ilibraries/include
 CFLAGS					+=
 CXXFLAGS				+=
 LDFLAGS					+=
-LIBS					+=
+LIBS					+= -Llibraries -lcalc
 
 CLEAN_FILES				+=
 CLEAN_DIRS				+=
diff --git a/libraries/Makefile b/libraries/Makefile
new file mode 100644
index 0000000..88abe23
--- /dev/null
+++ b/libraries/Makefile
@@ -0,0 +1,43 @@
+# ==============================================================================
+#  Makefile
+# ==============================================================================
+#
+#  TOPDIR  : トップディレクトリ
+#  RULEDIR : Meke のルール一式が格納されているディレクトリ
+#  NAME    : モジュール名         (拡張子を含めないこと)
+#  TARGET  : モジュールファイル名 (拡張子を含めること)
+#  SUBDIR  : サブディレクトリ     (処理したい順に空白区切りで記述すること)
+#
+TOPDIR					?= ..
+RULEDIR					?= $(TOPDIR)/mk
+NAME					 = libcalc
+TARGET					 = $(NAME).so
+SUBDIRS					 = 
+
+
+# ------------------------------------------------------------------------------
+include $(RULEDIR)/*-cmd.mk
+include $(RULEDIR)/*-conf.mk
+include $(RULEDIR)/*-auto.mk
+# ------------------------------------------------------------------------------
+#
+# 以下、オプションを適宜変更してください。
+#
+
+INCLUDES				+=
+CFLAGS					+=
+CXXFLAGS				+=
+LDFLAGS					+=
+LIBS					+=
+
+CLEAN_FILES				+=
+CLEAN_DIRS				+=
+
+.DEFAULT_GOAL			:= all
+
+
+
+# ------------------------------------------------------------------------------
+include $(RULEDIR)/*-rule.mk
+# ------------------------------------------------------------------------------
+
diff --git a/libraries/include/calc.h b/libraries/include/calc.h
new file mode 100644
index 0000000..e28d00f
--- /dev/null
+++ b/libraries/include/calc.h
@@ -0,0 +1,8 @@
+#ifndef CALC_H
+#define CALC_H
+
+
+int add(int a, int b);
+
+#endif
+
diff --git a/libraries/src/calc.c b/libraries/src/calc.c
new file mode 100644
index 0000000..059d557
--- /dev/null
+++ b/libraries/src/calc.c
@@ -0,0 +1,6 @@
+#include <stdio.h>
+
+int add(int a, int b)
+{
+	return (a + b);
+}
diff --git a/mk/all-rule.mk b/mk/all-rule.mk
index 3cf2923..96faef4 100644
--- a/mk/all-rule.mk
+++ b/mk/all-rule.mk
@@ -6,7 +6,7 @@
 	@for subdir in $(SUBDIRS); do	\
 		$(MAKE) all -C $$subdir;	\
 	done
-ifneq ($(strip $(TOP_TARGET)),)
-	$(MAKE) $(TOP_TARGET)
+ifneq ($(strip $(TARGET)),)
+	$(MAKE) $(TARGET)
 endif
 
diff --git a/mk/check-cppcheck-conf.mk b/mk/check-cppcheck-conf.mk
index ca3db60..c94554a 100644
--- a/mk/check-cppcheck-conf.mk
+++ b/mk/check-cppcheck-conf.mk
@@ -2,8 +2,6 @@
 #  cppcheck 設定
 # ==============================================================================
 
-
-
 # ------------------------------------------------------------------------------
 # 基本設定
 # ------------------------------------------------------------------------------
@@ -12,8 +10,6 @@
 CPPHECK_REPORT_DIR	= report/cppcheck
 CPPCHECK_LOG		= $(CPPCHECK_REPORT_DIR)/cppcheck.xml
 
-
-
 # ------------------------------------------------------------------------------
 #  警告抑止
 # ------------------------------------------------------------------------------
@@ -23,8 +19,6 @@
 CPPCHECK_SUPPRESS	 = --suppress=missingIncludeSystem
 CPPCHECK_SUPPRESS	+= --suppress=unusedFunction
 
-
-
 # ------------------------------------------------------------------------------
 #  CLEAN 時の削除ファイル追加
 # ------------------------------------------------------------------------------

diff --git a/Makefile b/Makefile
index 4d855a7..aedfdb3 100644
--- a/Makefile
+++ b/Makefile
@@ -10,9 +10,9 @@
 #
 TOPDIR					?= .
 RULEDIR					?= $(TOPDIR)/mk
-NAME					 = test
-TARGET					 = $(NAME).a
-SUBDIR					 =
+NAME					 = sample
+TARGET					 = $(NAME)
+SUBDIRS					 = libraries
 
 
 
@@ -25,11 +25,11 @@
 # 以下、オプションを適宜変更してください。
 #
 
-INCLUDES				+=
+INCLUDES				+= -Ilibraries/include
 CFLAGS					+=
 CXXFLAGS				+=
 LDFLAGS					+=
-LIBS					+=
+LIBS					+= -Llibraries -lcalc
 
 CLEAN_FILES				+=
 CLEAN_DIRS				+=
diff --git a/libraries/Makefile b/libraries/Makefile
new file mode 100644
index 0000000..88abe23
--- /dev/null
+++ b/libraries/Makefile
@@ -0,0 +1,43 @@
+# ==============================================================================
+#  Makefile
+# ==============================================================================
+#
+#  TOPDIR  : トップディレクトリ
+#  RULEDIR : Meke のルール一式が格納されているディレクトリ
+#  NAME    : モジュール名         (拡張子を含めないこと)
+#  TARGET  : モジュールファイル名 (拡張子を含めること)
+#  SUBDIR  : サブディレクトリ     (処理したい順に空白区切りで記述すること)
+#
+TOPDIR					?= ..
+RULEDIR					?= $(TOPDIR)/mk
+NAME					 = libcalc
+TARGET					 = $(NAME).so
+SUBDIRS					 = 
+
+
+# ------------------------------------------------------------------------------
+include $(RULEDIR)/*-cmd.mk
+include $(RULEDIR)/*-conf.mk
+include $(RULEDIR)/*-auto.mk
+# ------------------------------------------------------------------------------
+#
+# 以下、オプションを適宜変更してください。
+#
+
+INCLUDES				+=
+CFLAGS					+=
+CXXFLAGS				+=
+LDFLAGS					+=
+LIBS					+=
+
+CLEAN_FILES				+=
+CLEAN_DIRS				+=
+
+.DEFAULT_GOAL			:= all
+
+
+
+# ------------------------------------------------------------------------------
+include $(RULEDIR)/*-rule.mk
+# ------------------------------------------------------------------------------
+
diff --git a/libraries/include/calc.h b/libraries/include/calc.h
new file mode 100644
index 0000000..e28d00f
--- /dev/null
+++ b/libraries/include/calc.h
@@ -0,0 +1,8 @@
+#ifndef CALC_H
+#define CALC_H
+
+
+int add(int a, int b);
+
+#endif
+
diff --git a/libraries/src/calc.c b/libraries/src/calc.c
new file mode 100644
index 0000000..059d557
--- /dev/null
+++ b/libraries/src/calc.c
@@ -0,0 +1,6 @@
+#include <stdio.h>
+
+int add(int a, int b)
+{
+	return (a + b);
+}
diff --git a/mk/all-rule.mk b/mk/all-rule.mk
index 3cf2923..96faef4 100644
--- a/mk/all-rule.mk
+++ b/mk/all-rule.mk
@@ -6,7 +6,7 @@
 	@for subdir in $(SUBDIRS); do	\
 		$(MAKE) all -C $$subdir;	\
 	done
-ifneq ($(strip $(TOP_TARGET)),)
-	$(MAKE) $(TOP_TARGET)
+ifneq ($(strip $(TARGET)),)
+	$(MAKE) $(TARGET)
 endif
 
diff --git a/mk/check-cppcheck-conf.mk b/mk/check-cppcheck-conf.mk
index ca3db60..c94554a 100644
--- a/mk/check-cppcheck-conf.mk
+++ b/mk/check-cppcheck-conf.mk
@@ -2,8 +2,6 @@
 #  cppcheck 設定
 # ==============================================================================
 
-
-
 # ------------------------------------------------------------------------------
 # 基本設定
 # ------------------------------------------------------------------------------
@@ -12,8 +10,6 @@
 CPPHECK_REPORT_DIR	= report/cppcheck
 CPPCHECK_LOG		= $(CPPCHECK_REPORT_DIR)/cppcheck.xml
 
-
-
 # ------------------------------------------------------------------------------
 #  警告抑止
 # ------------------------------------------------------------------------------
@@ -23,8 +19,6 @@
 CPPCHECK_SUPPRESS	 = --suppress=missingIncludeSystem
 CPPCHECK_SUPPRESS	+= --suppress=unusedFunction
 
-
-
 # ------------------------------------------------------------------------------
 #  CLEAN 時の削除ファイル追加
 # ------------------------------------------------------------------------------
diff --git a/mk/check-lcov-cobertura-conf.mk b/mk/check-lcov-cobertura-conf.mk
index 8ca940f..3e27680 100644
--- a/mk/check-lcov-cobertura-conf.mk
+++ b/mk/check-lcov-cobertura-conf.mk
@@ -2,8 +2,6 @@
 #  lcov cobertura 設定
 # ==============================================================================
 
-
-
 # ------------------------------------------------------------------------------
 # 基本設定
 # ------------------------------------------------------------------------------

diff --git a/Makefile b/Makefile
index 4d855a7..aedfdb3 100644
--- a/Makefile
+++ b/Makefile
@@ -10,9 +10,9 @@
 #
 TOPDIR					?= .
 RULEDIR					?= $(TOPDIR)/mk
-NAME					 = test
-TARGET					 = $(NAME).a
-SUBDIR					 =
+NAME					 = sample
+TARGET					 = $(NAME)
+SUBDIRS					 = libraries
 
 
 
@@ -25,11 +25,11 @@
 # 以下、オプションを適宜変更してください。
 #
 
-INCLUDES				+=
+INCLUDES				+= -Ilibraries/include
 CFLAGS					+=
 CXXFLAGS				+=
 LDFLAGS					+=
-LIBS					+=
+LIBS					+= -Llibraries -lcalc
 
 CLEAN_FILES				+=
 CLEAN_DIRS				+=
diff --git a/libraries/Makefile b/libraries/Makefile
new file mode 100644
index 0000000..88abe23
--- /dev/null
+++ b/libraries/Makefile
@@ -0,0 +1,43 @@
+# ==============================================================================
+#  Makefile
+# ==============================================================================
+#
+#  TOPDIR  : トップディレクトリ
+#  RULEDIR : Meke のルール一式が格納されているディレクトリ
+#  NAME    : モジュール名         (拡張子を含めないこと)
+#  TARGET  : モジュールファイル名 (拡張子を含めること)
+#  SUBDIR  : サブディレクトリ     (処理したい順に空白区切りで記述すること)
+#
+TOPDIR					?= ..
+RULEDIR					?= $(TOPDIR)/mk
+NAME					 = libcalc
+TARGET					 = $(NAME).so
+SUBDIRS					 = 
+
+
+# ------------------------------------------------------------------------------
+include $(RULEDIR)/*-cmd.mk
+include $(RULEDIR)/*-conf.mk
+include $(RULEDIR)/*-auto.mk
+# ------------------------------------------------------------------------------
+#
+# 以下、オプションを適宜変更してください。
+#
+
+INCLUDES				+=
+CFLAGS					+=
+CXXFLAGS				+=
+LDFLAGS					+=
+LIBS					+=
+
+CLEAN_FILES				+=
+CLEAN_DIRS				+=
+
+.DEFAULT_GOAL			:= all
+
+
+
+# ------------------------------------------------------------------------------
+include $(RULEDIR)/*-rule.mk
+# ------------------------------------------------------------------------------
+
diff --git a/libraries/include/calc.h b/libraries/include/calc.h
new file mode 100644
index 0000000..e28d00f
--- /dev/null
+++ b/libraries/include/calc.h
@@ -0,0 +1,8 @@
+#ifndef CALC_H
+#define CALC_H
+
+
+int add(int a, int b);
+
+#endif
+
diff --git a/libraries/src/calc.c b/libraries/src/calc.c
new file mode 100644
index 0000000..059d557
--- /dev/null
+++ b/libraries/src/calc.c
@@ -0,0 +1,6 @@
+#include <stdio.h>
+
+int add(int a, int b)
+{
+	return (a + b);
+}
diff --git a/mk/all-rule.mk b/mk/all-rule.mk
index 3cf2923..96faef4 100644
--- a/mk/all-rule.mk
+++ b/mk/all-rule.mk
@@ -6,7 +6,7 @@
 	@for subdir in $(SUBDIRS); do	\
 		$(MAKE) all -C $$subdir;	\
 	done
-ifneq ($(strip $(TOP_TARGET)),)
-	$(MAKE) $(TOP_TARGET)
+ifneq ($(strip $(TARGET)),)
+	$(MAKE) $(TARGET)
 endif
 
diff --git a/mk/check-cppcheck-conf.mk b/mk/check-cppcheck-conf.mk
index ca3db60..c94554a 100644
--- a/mk/check-cppcheck-conf.mk
+++ b/mk/check-cppcheck-conf.mk
@@ -2,8 +2,6 @@
 #  cppcheck 設定
 # ==============================================================================
 
-
-
 # ------------------------------------------------------------------------------
 # 基本設定
 # ------------------------------------------------------------------------------
@@ -12,8 +10,6 @@
 CPPHECK_REPORT_DIR	= report/cppcheck
 CPPCHECK_LOG		= $(CPPCHECK_REPORT_DIR)/cppcheck.xml
 
-
-
 # ------------------------------------------------------------------------------
 #  警告抑止
 # ------------------------------------------------------------------------------
@@ -23,8 +19,6 @@
 CPPCHECK_SUPPRESS	 = --suppress=missingIncludeSystem
 CPPCHECK_SUPPRESS	+= --suppress=unusedFunction
 
-
-
 # ------------------------------------------------------------------------------
 #  CLEAN 時の削除ファイル追加
 # ------------------------------------------------------------------------------
diff --git a/mk/check-lcov-cobertura-conf.mk b/mk/check-lcov-cobertura-conf.mk
index 8ca940f..3e27680 100644
--- a/mk/check-lcov-cobertura-conf.mk
+++ b/mk/check-lcov-cobertura-conf.mk
@@ -2,8 +2,6 @@
 #  lcov cobertura 設定
 # ==============================================================================
 
-
-
 # ------------------------------------------------------------------------------
 # 基本設定
 # ------------------------------------------------------------------------------
diff --git a/mk/clean-conf.mk b/mk/clean-conf.mk
index 0d3e443..c0ceed7 100644
--- a/mk/clean-conf.mk
+++ b/mk/clean-conf.mk
@@ -1,17 +1,13 @@
 # ==============================================================================
-#  TARGET ファイル削除設定
+#  clean 設定
 # ==============================================================================
-#
-#  CLEAN 時に削除されるファイルを追加
-#
-
 ifneq ($(strip $(TARGET)),)
-
 CLEAN_FILES	+= $(OBJDIR)/*.o $(OBJDIR)/*.d $(OBJDIR)/*.gcno $(OBJDIR)/*.gcda
 CLEAN_FILES	+= $(TARGET)
 
 # $(TOPDIR) に置かれたファイルの削除
 ifneq ($(strip $(TARGET)),$(strip $(NAME)))
+
 # TARGET がライブラリの場合
 CLEAN_FILES	+= $(addprefix $(TOPDIR)/include/,$(notdir $(wildcard include/*.h)))
 CLEAN_FILES	+= $(addprefix $(TOPDIR)/lib/,$(TARGET))

diff --git a/Makefile b/Makefile
index 4d855a7..aedfdb3 100644
--- a/Makefile
+++ b/Makefile
@@ -10,9 +10,9 @@
 #
 TOPDIR					?= .
 RULEDIR					?= $(TOPDIR)/mk
-NAME					 = test
-TARGET					 = $(NAME).a
-SUBDIR					 =
+NAME					 = sample
+TARGET					 = $(NAME)
+SUBDIRS					 = libraries
 
 
 
@@ -25,11 +25,11 @@
 # 以下、オプションを適宜変更してください。
 #
 
-INCLUDES				+=
+INCLUDES				+= -Ilibraries/include
 CFLAGS					+=
 CXXFLAGS				+=
 LDFLAGS					+=
-LIBS					+=
+LIBS					+= -Llibraries -lcalc
 
 CLEAN_FILES				+=
 CLEAN_DIRS				+=
diff --git a/libraries/Makefile b/libraries/Makefile
new file mode 100644
index 0000000..88abe23
--- /dev/null
+++ b/libraries/Makefile
@@ -0,0 +1,43 @@
+# ==============================================================================
+#  Makefile
+# ==============================================================================
+#
+#  TOPDIR  : トップディレクトリ
+#  RULEDIR : Meke のルール一式が格納されているディレクトリ
+#  NAME    : モジュール名         (拡張子を含めないこと)
+#  TARGET  : モジュールファイル名 (拡張子を含めること)
+#  SUBDIR  : サブディレクトリ     (処理したい順に空白区切りで記述すること)
+#
+TOPDIR					?= ..
+RULEDIR					?= $(TOPDIR)/mk
+NAME					 = libcalc
+TARGET					 = $(NAME).so
+SUBDIRS					 = 
+
+
+# ------------------------------------------------------------------------------
+include $(RULEDIR)/*-cmd.mk
+include $(RULEDIR)/*-conf.mk
+include $(RULEDIR)/*-auto.mk
+# ------------------------------------------------------------------------------
+#
+# 以下、オプションを適宜変更してください。
+#
+
+INCLUDES				+=
+CFLAGS					+=
+CXXFLAGS				+=
+LDFLAGS					+=
+LIBS					+=
+
+CLEAN_FILES				+=
+CLEAN_DIRS				+=
+
+.DEFAULT_GOAL			:= all
+
+
+
+# ------------------------------------------------------------------------------
+include $(RULEDIR)/*-rule.mk
+# ------------------------------------------------------------------------------
+
diff --git a/libraries/include/calc.h b/libraries/include/calc.h
new file mode 100644
index 0000000..e28d00f
--- /dev/null
+++ b/libraries/include/calc.h
@@ -0,0 +1,8 @@
+#ifndef CALC_H
+#define CALC_H
+
+
+int add(int a, int b);
+
+#endif
+
diff --git a/libraries/src/calc.c b/libraries/src/calc.c
new file mode 100644
index 0000000..059d557
--- /dev/null
+++ b/libraries/src/calc.c
@@ -0,0 +1,6 @@
+#include <stdio.h>
+
+int add(int a, int b)
+{
+	return (a + b);
+}
diff --git a/mk/all-rule.mk b/mk/all-rule.mk
index 3cf2923..96faef4 100644
--- a/mk/all-rule.mk
+++ b/mk/all-rule.mk
@@ -6,7 +6,7 @@
 	@for subdir in $(SUBDIRS); do	\
 		$(MAKE) all -C $$subdir;	\
 	done
-ifneq ($(strip $(TOP_TARGET)),)
-	$(MAKE) $(TOP_TARGET)
+ifneq ($(strip $(TARGET)),)
+	$(MAKE) $(TARGET)
 endif
 
diff --git a/mk/check-cppcheck-conf.mk b/mk/check-cppcheck-conf.mk
index ca3db60..c94554a 100644
--- a/mk/check-cppcheck-conf.mk
+++ b/mk/check-cppcheck-conf.mk
@@ -2,8 +2,6 @@
 #  cppcheck 設定
 # ==============================================================================
 
-
-
 # ------------------------------------------------------------------------------
 # 基本設定
 # ------------------------------------------------------------------------------
@@ -12,8 +10,6 @@
 CPPHECK_REPORT_DIR	= report/cppcheck
 CPPCHECK_LOG		= $(CPPCHECK_REPORT_DIR)/cppcheck.xml
 
-
-
 # ------------------------------------------------------------------------------
 #  警告抑止
 # ------------------------------------------------------------------------------
@@ -23,8 +19,6 @@
 CPPCHECK_SUPPRESS	 = --suppress=missingIncludeSystem
 CPPCHECK_SUPPRESS	+= --suppress=unusedFunction
 
-
-
 # ------------------------------------------------------------------------------
 #  CLEAN 時の削除ファイル追加
 # ------------------------------------------------------------------------------
diff --git a/mk/check-lcov-cobertura-conf.mk b/mk/check-lcov-cobertura-conf.mk
index 8ca940f..3e27680 100644
--- a/mk/check-lcov-cobertura-conf.mk
+++ b/mk/check-lcov-cobertura-conf.mk
@@ -2,8 +2,6 @@
 #  lcov cobertura 設定
 # ==============================================================================
 
-
-
 # ------------------------------------------------------------------------------
 # 基本設定
 # ------------------------------------------------------------------------------
diff --git a/mk/clean-conf.mk b/mk/clean-conf.mk
index 0d3e443..c0ceed7 100644
--- a/mk/clean-conf.mk
+++ b/mk/clean-conf.mk
@@ -1,17 +1,13 @@
 # ==============================================================================
-#  TARGET ファイル削除設定
+#  clean 設定
 # ==============================================================================
-#
-#  CLEAN 時に削除されるファイルを追加
-#
-
 ifneq ($(strip $(TARGET)),)
-
 CLEAN_FILES	+= $(OBJDIR)/*.o $(OBJDIR)/*.d $(OBJDIR)/*.gcno $(OBJDIR)/*.gcda
 CLEAN_FILES	+= $(TARGET)
 
 # $(TOPDIR) に置かれたファイルの削除
 ifneq ($(strip $(TARGET)),$(strip $(NAME)))
+
 # TARGET がライブラリの場合
 CLEAN_FILES	+= $(addprefix $(TOPDIR)/include/,$(notdir $(wildcard include/*.h)))
 CLEAN_FILES	+= $(addprefix $(TOPDIR)/lib/,$(TARGET))
diff --git a/src/test.c b/src/test.c
new file mode 100644
index 0000000..4265469
--- /dev/null
+++ b/src/test.c
@@ -0,0 +1,15 @@
+#include <stdio.h>
+
+#include "calc.h"
+
+
+int main(void)
+{
+	int a = 5;
+	int b = 100;
+	int c = add(a, b);
+	printf("%d\n", c);
+	return 0;
+}
+
+