aboutsummaryrefslogtreecommitdiff
path: root/captain/makefile.gnu
diff options
context:
space:
mode:
authorJeffrey Armstrong <jeff@approximatrix.com>2025-01-03 13:48:42 -0500
committerJeffrey Armstrong <jeff@approximatrix.com>2025-01-03 13:48:42 -0500
commitf43007b637900d17c6c0ecdb9aeeab4393e03c3f (patch)
treef5d4b84775b2cecaad0478b2d8fc081e6a3a435d /captain/makefile.gnu
parent3e281f72fa13082cfa93b704514226546a6538dd (diff)
downloadlevitating-f43007b637900d17c6c0ecdb9aeeab4393e03c3f.tar.gz
levitating-f43007b637900d17c6c0ecdb9aeeab4393e03c3f.zip
Added a GNU makefile for building outside simply fortran. Added build and install instructions for the captain.
Diffstat (limited to 'captain/makefile.gnu')
-rw-r--r--captain/makefile.gnu243
1 files changed, 243 insertions, 0 deletions
diff --git a/captain/makefile.gnu b/captain/makefile.gnu
new file mode 100644
index 0000000..8eadb95
--- /dev/null
+++ b/captain/makefile.gnu
@@ -0,0 +1,243 @@
+#
+# Automagically generated by Approximatrix Simply Fortran 3.37
+#
+FC?="gfortran"
+CC?="gcc"
+AR?="ar"
+WRC?="windres"
+RM=rm -f
+
+IDIR=
+
+LDIR=
+
+
+OPTFLAGS= -g -gdwarf-4
+
+SPECIALFLAGS=
+
+RCFLAGS=-O coff --use-temp-file
+
+PRJ_FFLAGS=-DGNU -fcheck=all
+
+PRJ_CFLAGS=
+
+PRJ_LFLAGS=-lsqlite3 -lssl -lcrypt
+
+FFLAGS=$(SPECIALFLAGS) $(OPTFLAGS) $(IDIR) $(PRJ_FFLAGS) -Jmodules
+
+CFLAGS=$(SPECIALFLAGS) $(OPTFLAGS) $(IDIR) $(PRJ_CFLAGS)
+
+build:
+ mkdir -p $@
+
+modules:
+ mkdir -p $@
+
+.PHONY: all clean
+
+build/api.o: api.f90 modules/captain_db.mod modules/utilities.mod modules/server_response.mod modules/logging.mod modules/special_filenames.mod modules/security.mod modules/gemini_codes.mod | modules build
+ @echo Compiling api.f90
+ @$(FC) -c -o "build/api.o" $(FFLAGS) "api.f90"
+modules/api_handling.mod : | modules build/api.o
+
+build/auth_level.o: auth_level.f90 | modules build
+ @echo Compiling auth_level.f90
+ @$(FC) -c -o "build/auth_level.o" $(FFLAGS) "auth_level.f90"
+modules/auth_levels.mod : | modules build/auth_level.o
+
+build/captain.o: captain.f90 modules/captain_db.mod modules/config.mod modules/logging.mod modules/gemini.mod modules/web.mod modules/m_crypt.mod modules/m_uuid.mod | modules build
+ @echo Compiling captain.f90
+ @$(FC) -c -o "build/captain.o" $(FFLAGS) "captain.f90"
+
+build/codes.o: codes.f90 | modules build
+ @echo Compiling codes.f90
+ @$(FC) -c -o "build/codes.o" $(FFLAGS) "codes.f90"
+modules/http_codes.mod : | modules build/codes.o
+modules/gemini_codes.mod : | modules build/codes.o
+
+build/config.o: config.f90 modules/utilities.mod modules/auth_levels.mod | modules build
+ @echo Compiling config.f90
+ @$(FC) -c -o "build/config.o" $(FFLAGS) "config.f90"
+modules/config.mod : | modules build/config.o
+
+build/crypt.o: crypt.F90 | modules build
+ @echo Compiling crypt.F90
+ @$(FC) -c -o "build/crypt.o" $(FFLAGS) "crypt.F90"
+modules/m_crypt.mod : | modules build/crypt.o
+
+build/db.o: db.f90 modules/sqlite.mod modules/logging.mod modules/config.mod modules/utilities.mod modules/m_crypt.mod modules/auth_levels.mod modules/m_uuid.mod | modules build
+ @echo Compiling db.f90
+ @$(FC) -c -o "build/db.o" $(FFLAGS) "db.f90"
+modules/captain_db.mod : | modules build/db.o
+
+build/external.o: external.f90 modules/captain_db.mod modules/server_response.mod modules/request_utils.mod modules/logging.mod modules/config.mod modules/special_filenames.mod modules/utilities.mod modules/gemini_codes.mod modules/m_uuid.mod modules/page_template.mod modules/query_utilities.mod modules/security.mod | modules build
+ @echo Compiling external.f90
+ @$(FC) -c -o "build/external.o" $(FFLAGS) "external.f90"
+modules/external_handling.mod : | modules build/external.o
+
+build/gemini.o: gemini.f90 modules/jessl.mod modules/logging.mod modules/gemini_codes.mod modules/config.mod modules/external_handling.mod modules/api_handling.mod modules/m_uuid.mod modules/server_response.mod | modules build
+ @echo Compiling gemini.f90
+ @$(FC) -c -o "build/gemini.o" $(FFLAGS) "gemini.f90"
+modules/gemini.mod : | modules build/gemini.o
+
+build/http.o: http.f90 modules/logging.mod | modules build
+ @echo Compiling http.f90
+ @$(FC) -c -o "build/http.o" $(FFLAGS) "http.f90"
+modules/http.mod : | modules build/http.o
+
+build/jessl.o: ../common/jessl.f90 modules/utilities.mod | modules build
+ @echo Compiling ../common/jessl.f90
+ @$(FC) -c -o "build/jessl.o" $(FFLAGS) "../common/jessl.f90"
+modules/jessl.mod : | modules build/jessl.o
+
+build/launch.o: launch.f90 modules/captain_db.mod | modules build
+ @echo Compiling launch.f90
+ @$(FC) -c -o "build/launch.o" $(FFLAGS) "launch.f90"
+modules/remote_launch.mod : | modules build/launch.o
+
+build/log.o: log.f90 | modules build
+ @echo Compiling log.f90
+ @$(FC) -c -o "build/log.o" $(FFLAGS) "log.f90"
+modules/logging.mod : | modules build/log.o
+
+build/network.o: ../common/network.F90 | modules build
+ @echo Compiling ../common/network.F90
+ @$(FC) -c -o "build/network.o" $(FFLAGS) "../common/network.F90"
+modules/network.mod : | modules build/network.o
+
+build/postutils.o: postutils.f90 modules/query_utilities.mod modules/logging.mod | modules build
+ @echo Compiling postutils.f90
+ @$(FC) -c -o "build/postutils.o" $(FFLAGS) "postutils.f90"
+modules/http_post_utilities.mod : | modules build/postutils.o
+
+build/protocol.o: ../common/protocol.f90 modules/request.mod modules/utilities.mod modules/jessl.mod | modules build
+ @echo Compiling ../common/protocol.f90
+ @$(FC) -c -o "build/protocol.o" $(FFLAGS) "../common/protocol.f90"
+modules/gemini_protocol.mod : | modules build/protocol.o
+
+build/queryutils.o: queryutils.f90 modules/logging.mod | modules build
+ @echo Compiling queryutils.f90
+ @$(FC) -c -o "build/queryutils.o" $(FFLAGS) "queryutils.f90"
+modules/query_utilities.mod : | modules build/queryutils.o
+
+build/request.o: ../common/request.f90 modules/network.mod modules/jessl.mod | modules build
+ @echo Compiling ../common/request.f90
+ @$(FC) -c -o "build/request.o" $(FFLAGS) "../common/request.f90"
+modules/request.mod : | modules build/request.o
+
+build/requtils.o: requtils.f90 modules/http_codes.mod modules/gemini_codes.mod modules/server_response.mod modules/utilities.mod modules/captain_db.mod modules/logging.mod modules/config.mod modules/special_filenames.mod modules/remote_launch.mod | modules build
+ @echo Compiling requtils.f90
+ @$(FC) -c -o "build/requtils.o" $(FFLAGS) "requtils.f90"
+modules/request_utils.mod : | modules build/requtils.o
+
+build/response.o: response.f90 modules/query_utilities.mod modules/logging.mod modules/utilities.mod modules/captain_db.mod modules/auth_levels.mod modules/jessl.mod | modules build
+ @echo Compiling response.f90
+ @$(FC) -c -o "build/response.o" $(FFLAGS) "response.f90"
+modules/server_response.mod : | modules build/response.o
+
+build/security.o: security.f90 modules/captain_db.mod modules/logging.mod | modules build
+ @echo Compiling security.f90
+ @$(FC) -c -o "build/security.o" $(FFLAGS) "security.f90"
+modules/security.mod : | modules build/security.o
+
+build/special.o: special.f90 modules/utilities.mod modules/config.mod modules/logging.mod modules/captain_db.mod modules/server_response.mod | modules build
+ @echo Compiling special.f90
+ @$(FC) -c -o "build/special.o" $(FFLAGS) "special.f90"
+modules/special_filenames.mod : | modules build/special.o
+
+build/sqlite.o: sqlite.f90 | modules build
+ @echo Compiling sqlite.f90
+ @$(FC) -c -o "build/sqlite.o" $(FFLAGS) "sqlite.f90"
+modules/sqlite.mod : | modules build/sqlite.o
+
+build/template.o: template.f90 modules/logging.mod modules/utilities.mod modules/config.mod | modules build
+ @echo Compiling template.f90
+ @$(FC) -c -o "build/template.o" $(FFLAGS) "template.f90"
+modules/page_template.mod : | modules build/template.o
+
+build/utilities.o: ../common/utilities.F90 | modules build
+ @echo Compiling ../common/utilities.F90
+ @$(FC) -c -o "build/utilities.o" $(FFLAGS) "../common/utilities.F90"
+modules/utilities.mod : | modules build/utilities.o
+
+build/uuid.o: uuid.f90 modules/utilities.mod | modules build
+ @echo Compiling uuid.f90
+ @$(FC) -c -o "build/uuid.o" $(FFLAGS) "uuid.f90"
+modules/m_uuid.mod : | modules build/uuid.o
+
+build/web.o: web.f90 modules/utilities.mod modules/server_response.mod modules/page_template.mod modules/captain_db.mod modules/config.mod modules/logging.mod modules/request_utils.mod modules/query_utilities.mod modules/remote_launch.mod modules/special_filenames.mod modules/http_codes.mod modules/http_post_utilities.mod modules/http.mod | modules build
+ @echo Compiling web.f90
+ @$(FC) -c -o "build/web.o" $(FFLAGS) "web.f90"
+modules/web.mod : | modules build/web.o
+
+clean:
+ @echo Deleting build/api.o and related files
+ @$(RM) "build/api.o" "modules/api_handling.mod" "modules/api_handling.smod"
+ @echo Deleting build/auth_level.o and related files
+ @$(RM) "build/auth_level.o" "modules/auth_levels.mod" "modules/auth_levels.smod"
+ @echo Deleting build/captain.o and related files
+ @$(RM) "build/captain.o"
+ @echo Deleting build/codes.o and related files
+ @$(RM) "build/codes.o" "modules/http_codes.mod" "modules/http_codes.smod" "modules/gemini_codes.mod" "modules/gemini_codes.smod"
+ @echo Deleting build/config.o and related files
+ @$(RM) "build/config.o" "modules/config.mod" "modules/config.smod"
+ @echo Deleting build/crypt.o and related files
+ @$(RM) "build/crypt.o" "modules/m_crypt.mod" "modules/m_crypt.smod"
+ @echo Deleting build/db.o and related files
+ @$(RM) "build/db.o" "modules/captain_db.mod" "modules/captain_db.smod"
+ @echo Deleting build/external.o and related files
+ @$(RM) "build/external.o" "modules/external_handling.mod" "modules/external_handling.smod"
+ @echo Deleting build/gemini.o and related files
+ @$(RM) "build/gemini.o" "modules/gemini.mod" "modules/gemini.smod"
+ @echo Deleting build/http.o and related files
+ @$(RM) "build/http.o" "modules/http.mod" "modules/http.smod"
+ @echo Deleting build/jessl.o and related files
+ @$(RM) "build/jessl.o" "modules/jessl.mod" "modules/jessl.smod"
+ @echo Deleting build/launch.o and related files
+ @$(RM) "build/launch.o" "modules/remote_launch.mod" "modules/remote_launch.smod"
+ @echo Deleting build/log.o and related files
+ @$(RM) "build/log.o" "modules/logging.mod" "modules/logging.smod"
+ @echo Deleting build/network.o and related files
+ @$(RM) "build/network.o" "modules/network.mod" "modules/network.smod"
+ @echo Deleting build/postutils.o and related files
+ @$(RM) "build/postutils.o" "modules/http_post_utilities.mod" "modules/http_post_utilities.smod"
+ @echo Deleting build/protocol.o and related files
+ @$(RM) "build/protocol.o" "modules/gemini_protocol.mod" "modules/gemini_protocol.smod"
+ @echo Deleting build/queryutils.o and related files
+ @$(RM) "build/queryutils.o" "modules/query_utilities.mod" "modules/query_utilities.smod"
+ @echo Deleting build/request.o and related files
+ @$(RM) "build/request.o" "modules/request.mod" "modules/request.smod"
+ @echo Deleting build/requtils.o and related files
+ @$(RM) "build/requtils.o" "modules/request_utils.mod" "modules/request_utils.smod"
+ @echo Deleting build/response.o and related files
+ @$(RM) "build/response.o" "modules/server_response.mod" "modules/server_response.smod"
+ @echo Deleting build/security.o and related files
+ @$(RM) "build/security.o" "modules/security.mod" "modules/security.smod"
+ @echo Deleting build/special.o and related files
+ @$(RM) "build/special.o" "modules/special_filenames.mod" "modules/special_filenames.smod"
+ @echo Deleting build/sqlite.o and related files
+ @$(RM) "build/sqlite.o" "modules/sqlite.mod" "modules/sqlite.smod"
+ @echo Deleting build/template.o and related files
+ @$(RM) "build/template.o" "modules/page_template.mod" "modules/page_template.smod"
+ @echo Deleting build/utilities.o and related files
+ @$(RM) "build/utilities.o" "modules/utilities.mod" "modules/utilities.smod"
+ @echo Deleting build/uuid.o and related files
+ @$(RM) "build/uuid.o" "modules/m_uuid.mod" "modules/m_uuid.smod"
+ @echo Deleting build/web.o and related files
+ @$(RM) "build/web.o" "modules/web.mod" "modules/web.smod"
+ @echo Deleting build/wsa.o and related files
+ @$(RM) "build/wsa.o"
+ @echo Deleting directory modules
+ @rmdir modules
+ @echo Deleting directory build
+ @rmdir build
+ @echo Deleting levitating-captain
+ @$(RM) "levitating-captain"
+
+levitating-captain: build/api.o build/auth_level.o build/captain.o build/codes.o build/config.o build/crypt.o build/db.o build/external.o build/gemini.o build/http.o build/jessl.o build/launch.o build/log.o build/network.o build/postutils.o build/protocol.o build/queryutils.o build/request.o build/requtils.o build/response.o build/security.o build/special.o build/sqlite.o build/template.o build/utilities.o build/uuid.o build/web.o
+ @echo Generating levitating-captain
+ @$(FC) -o "levitating-captain" $(SPECIALFLAGS) build/api.o build/auth_level.o build/captain.o build/codes.o build/config.o build/crypt.o build/db.o build/external.o build/gemini.o build/http.o build/jessl.o build/launch.o build/log.o build/network.o build/postutils.o build/protocol.o build/queryutils.o build/request.o build/requtils.o build/response.o build/security.o build/special.o build/sqlite.o build/template.o build/utilities.o build/uuid.o build/web.o $(LDIR) $(PRJ_LFLAGS)
+
+all: levitating-captain
+