From 6b0282ae2744612d675b56d7c20c3fb1927a2910 Mon Sep 17 00:00:00 2001 From: Milan Curcic Date: Tue, 24 Dec 2019 16:26:07 -0500 Subject: [PATCH 1/4] remove old (dummy) source files --- src/{lib => }/Makefile.manual | 0 src/lib/mod_stdlib.f90 | 2 -- src/tests/test_dummy.f90 | 4 ---- 3 files changed, 6 deletions(-) rename src/{lib => }/Makefile.manual (100%) delete mode 100644 src/lib/mod_stdlib.f90 delete mode 100644 src/tests/test_dummy.f90 diff --git a/src/lib/Makefile.manual b/src/Makefile.manual similarity index 100% rename from src/lib/Makefile.manual rename to src/Makefile.manual diff --git a/src/lib/mod_stdlib.f90 b/src/lib/mod_stdlib.f90 deleted file mode 100644 index f193c720b..000000000 --- a/src/lib/mod_stdlib.f90 +++ /dev/null @@ -1,2 +0,0 @@ -module stdlib -end module stdlib diff --git a/src/tests/test_dummy.f90 b/src/tests/test_dummy.f90 deleted file mode 100644 index 2b30654c7..000000000 --- a/src/tests/test_dummy.f90 +++ /dev/null @@ -1,4 +0,0 @@ -program test_dummy - use stdlib - print *, 'it works' -end program test_dummy From 230465dd27621f5efa24eadfce3e3c6c62c93684 Mon Sep 17 00:00:00 2001 From: Milan Curcic Date: Tue, 24 Dec 2019 16:26:40 -0500 Subject: [PATCH 2/4] update manual Makefiles so they build the library and tests --- Makefile.manual | 4 ++-- src/Makefile.manual | 12 +++++++----- src/tests/Makefile.manual | 19 +++++++------------ src/tests/ascii/Makefile.manual | 17 +++++++++++++++++ src/tests/loadtxt/Makefile.manual | 20 ++++++++++++++++++++ 5 files changed, 53 insertions(+), 19 deletions(-) create mode 100644 src/tests/ascii/Makefile.manual create mode 100644 src/tests/loadtxt/Makefile.manual diff --git a/Makefile.manual b/Makefile.manual index c7f45bc74..a3e59040e 100644 --- a/Makefile.manual +++ b/Makefile.manual @@ -8,11 +8,11 @@ FCFLAGS=-O0 all: stdlib tests stdlib: - $(MAKE) -f Makefile.manual FC=${FC} FCFLAGS=${FCFLAGS} --directory=src/lib + $(MAKE) -f Makefile.manual FC=${FC} FCFLAGS=${FCFLAGS} --directory=src tests: stdlib $(MAKE) -f Makefile.manual FC=${FC} FCFLAGS=${FCFLAGS} --directory=src/tests clean: - $(MAKE) -f Makefile.manual clean --directory=src/lib + $(MAKE) -f Makefile.manual clean --directory=src $(MAKE) -f Makefile.manual clean --directory=src/tests diff --git a/src/Makefile.manual b/src/Makefile.manual index 0fa1e05bb..05640fc34 100644 --- a/src/Makefile.manual +++ b/src/Makefile.manual @@ -1,18 +1,20 @@ -# Fortran stdlib Makefile - -OBJS = mod_stdlib.o +OBJS = stdlib_experimental_ascii.o \ + stdlib_experimental_error.o \ + stdlib_experimental_io.o \ .PHONY: all clean .SUFFIXES: .f90 .o -all: mod_stdlib.o +all: $(OBJS) .f90.o: $(FC) $(FCFLAGS) -c $< %.o: %.mod -mod_stdlib.o: mod_stdlib.f90 +stdlib_experimental_ascii.o: stdlib_experimental_ascii.f90 +stdlib_experimental_error.o: stdlib_experimental_error.f90 +stdlib_experimental_io.o: stdlib_experimental_io.f90 clean: $(RM) *.o *.mod diff --git a/src/tests/Makefile.manual b/src/tests/Makefile.manual index fa1feff4e..2669a98f8 100644 --- a/src/tests/Makefile.manual +++ b/src/tests/Makefile.manual @@ -1,18 +1,13 @@ -# Fortran stdlib Makefile - -CPPFLAGS=-I../lib -OBJS = ../lib/mod_stdlib.o - .PHONY: all clean -.SUFFIXES: .f90 .o -all: test_dummy +all: ascii/test_ascii loadtxt/test_loadtxt -test_dummy: test_dummy.f90 $(OBJS) - $(FC) $(FCFLAGS) $(CPPFLAGS) $< -o $@ $(OBJS) +ascii/test_ascii: + $(MAKE) -f Makefile.manual --directory=ascii -%.o: %.mod +loadtxt/test_loadtxt: + $(MAKE) -f Makefile.manual --directory=loadtxt clean: - $(RM) test_dummy - $(RM) *.o *.mod + $(MAKE) -f Makefile.manual --directory=ascii clean + $(MAKE) -f Makefile.manual --directory=loadtxt clean diff --git a/src/tests/ascii/Makefile.manual b/src/tests/ascii/Makefile.manual new file mode 100644 index 000000000..f2d9e03c6 --- /dev/null +++ b/src/tests/ascii/Makefile.manual @@ -0,0 +1,17 @@ +CPPFLAGS = -I../.. +OBJS = ../../stdlib_experimental_ascii.o \ + ../../stdlib_experimental_error.o + +.PHONY: all clean +.SUFFIXES: .f90 .o + +all: test_ascii + +test_ascii: test_ascii.f90 $(OBJS) + $(FC) $(FCFLAGS) $(CPPFLAGS) $< -o $@ $(OBJS) + +%.o: %.mod + +clean: + $(RM) test_ascii + $(RM) *.o *.mod diff --git a/src/tests/loadtxt/Makefile.manual b/src/tests/loadtxt/Makefile.manual new file mode 100644 index 000000000..716f41678 --- /dev/null +++ b/src/tests/loadtxt/Makefile.manual @@ -0,0 +1,20 @@ +CPPFLAGS = -I../.. +OBJS = ../../stdlib_experimental_error.o \ + ../../stdlib_experimental_io.o + +.PHONY: all clean +.SUFFIXES: .f90 .o + +all: test_loadtxt test_savetxt + +test_loadtxt: test_loadtxt.f90 $(OBJS) + $(FC) $(FCFLAGS) $(CPPFLAGS) $< -o $@ $(OBJS) + +test_savetxt: test_savetxt.f90 $(OBJS) + $(FC) $(FCFLAGS) $(CPPFLAGS) $< -o $@ $(OBJS) + +%.o: %.mod + +clean: + $(RM) test_loadtxt test_savetxt + $(RM) *.o *.mod From 3405811e66f5bfa175bcae84cb1e1df9273f76d9 Mon Sep 17 00:00:00 2001 From: Milan Curcic Date: Tue, 24 Dec 2019 16:26:49 -0500 Subject: [PATCH 3/4] add instructions to README on building with CMake or manual Makefiles --- README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/README.md b/README.md index 56f3057f1..9c9dedc63 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,27 @@ ## Getting started +### Get the code + ``` git clone https://github.com/fortran-lang/stdlib cd stdlib +``` + +### Build with CMake + +``` +cmake . make +ctest +``` + +### Build with make + +Alternatively, you can build using provided Makefiles: + +``` +make -f Makefile.manual ``` ## Contributing From ee9881bf9a7c01766620ff00715505988bac6944 Mon Sep 17 00:00:00 2001 From: Milan Curcic Date: Sun, 29 Dec 2019 21:33:44 -0500 Subject: [PATCH 4/4] recommend out of source build in README.md Co-Authored-By: Izaak "Zaak" Beekman --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9c9dedc63..5e2171aae 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,9 @@ cd stdlib ### Build with CMake ``` -cmake . +mkdir build +cd build +cmake .. make ctest ```