diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..608b1d4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.vscode/ +build/ \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..f9ac81e --- /dev/null +++ b/Makefile @@ -0,0 +1,16 @@ +FC=gfortran +BUILD_DIR=build +SRC_DIR=src + +.phony: all main clean always + +all: always main + +main: + $(FC) $(SRC_DIR)/main.f90 -o $(BUILD_DIR)/fcc + +always: + mkdir -p $(BUILD_DIR) + +clean: + rm -rf $(BUILD_DIR) \ No newline at end of file diff --git a/examples/ret2.c b/examples/ret2.c new file mode 100644 index 0000000..5c52fee --- /dev/null +++ b/examples/ret2.c @@ -0,0 +1,3 @@ +int main() { + return 2; +} \ No newline at end of file diff --git a/src/main.f90 b/src/main.f90 new file mode 100644 index 0000000..5fc2361 --- /dev/null +++ b/src/main.f90 @@ -0,0 +1,24 @@ +program main + use f90getopt + implicit none + character(len=*), parameter :: VERSION = '1.0' + integer :: attempts = 1 + type(option_s) :: opts(2) + + opts(1) = option_s('attempts', .true., 'a') + opts(2) = option_s('version', .false., 'v') + + do + select case (getopt('a:v', opts)) + case (char(0)) + exit + case ('g') + read (optarg, '(i3)') attempts + case ('v') + print '(a, f3.1)', 'version ', VERSION + stop + end select + end do + + print '(a, i3)', 'number of attempts: ', attempts +end program main \ No newline at end of file