From e7e59648f11bc918fbb6664eef5e0c472141a890 Mon Sep 17 00:00:00 2001 From: Jeffrey Armstrong Date: Tue, 13 Oct 2020 11:35:15 -0400 Subject: Added Simply Fortran projects. Added makefile for building Clp on MinGW64. --- clp-bin/Makefile | 64 ++++++++++++++++++++++++++++++++++++++++++++++ clp-example.prj | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ libClpFortran.prj | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 215 insertions(+) create mode 100644 clp-bin/Makefile create mode 100644 clp-example.prj create mode 100644 libClpFortran.prj diff --git a/clp-bin/Makefile b/clp-bin/Makefile new file mode 100644 index 0000000..4c1ed7c --- /dev/null +++ b/clp-bin/Makefile @@ -0,0 +1,64 @@ +CLP_VERSION=1.17.6 +COINUTILS_VERSION=2.11.4 + +CLP_SRCDIR=Clp-releases-$(CLP_VERSION) +COINUTILS_SRCDIR=CoinUtils-releases-$(COINUTILS_VERSION) + +OBJDIR=obj +CLP_OBJDIR=$(OBJDIR)/clp +COINUTILS_OBJDIR=$(OBJDIR)/coinutils + +INSTALL_DIR=install + +BASE=$(PWD) + +CLP_PKG_CONFIG=$(BASE)/$(INSTALL_DIR)/lib/pkgconfig:$(PKG_CONFIG_PATH) + +.PHONY: all clean clp clp-install coinutils coinutils-install + +clean: + rm -rf $(CLP_OBJDIR) + rm -rf $(COINUTILS_OBJDIR) + rm -rf $(INSTALL_DIR) + +coinutils: $(COINUTILS_OBJDIR)/CoinUtils/src/.libs/libCoinUtils.a + +coinutils-install: $(INSTALL_DIR)/lib/libCoinUtils.a + +$(COINUTILS_OBJDIR)/Makefile: + mkdir -p $(OBJDIR) + mkdir -p $(COINUTILS_OBJDIR) + cd $(COINUTILS_OBJDIR) && \ + $(BASE)/$(COINUTILS_SRCDIR)/configure \ + --enable-static \ + --prefix=$(BASE)/$(INSTALL_DIR) \ + --build=x86_64-w64-mingw32 \ + CC=gcc CXX=g++ + +$(COINUTILS_OBJDIR)/CoinUtils/src/.libs/libCoinUtils.a: $(COINUTILS_OBJDIR)/Makefile + $(MAKE) -C $(COINUTILS_OBJDIR) all + +$(INSTALL_DIR)/lib/libCoinUtils.a: $(COINUTILS_OBJDIR)/CoinUtils/src/.libs/libCoinUtils.a + $(MAKE) -C $(COINUTILS_OBJDIR) install + +clp: $(CLP_OBJDIR)/Clp/src/.libs/libClp.a + +clp-install: $(INSTALL_DIR)/lib/libClp.a + +$(CLP_OBJDIR)/Makefile: $(INSTALL_DIR)/lib/libCoinUtils.a + mkdir -p $(OBJDIR) + mkdir -p $(CLP_OBJDIR) + cd $(CLP_OBJDIR) && \ + $(BASE)/$(CLP_SRCDIR)/configure \ + --enable-static \ + --prefix=$(BASE)/$(INSTALL_DIR) \ + --build=x86_64-w64-mingw32 \ + CC=gcc CXX=g++ PKG_CONFIG_PATH=$(CLP_PKG_CONFIG) + +$(CLP_OBJDIR)/Clp/src/.libs/libClp.a: $(CLP_OBJDIR)/Makefile + $(MAKE) -C $(CLP_OBJDIR) all + +$(INSTALL_DIR)/lib/libClp.a: $(CLP_OBJDIR)/Clp/src/.libs/libClp.a + $(MAKE) -C $(CLP_OBJDIR) install + +all: $(INSTALL_DIR)/lib/libClp.a $(INSTALL_DIR)/lib/libCoinUtils.a diff --git a/clp-example.prj b/clp-example.prj new file mode 100644 index 0000000..9497bd2 --- /dev/null +++ b/clp-example.prj @@ -0,0 +1,76 @@ +{ + "Root":{ + "Folders":[{ + "Folders":[], + "Name":"+deps", + "Files":[{ + "filename":".\\libClpFortran.prj", + "enabled":"1" + }] + },{ + "Folders":[], + "Name":"+src", + "Files":[{ + "filename":".\\src\\main.f90", + "enabled":"1" + }] + }], + "Name":"+clp-example (example.exe)", + "Files":[] + }, + "Name":"clp-example (example.exe)", + "Options":{ + "Compiler Options":{ + "Fortran Flags":"", + "Link Flags":"-lClpSolver -lClp -lCoinUtils -lstdc++", + "C Flags":"" + }, + "Architecture":1, + "Type":0, + "Revision":2, + "Windows GUI":0, + "File Options":{ + "Library Directories":["Default Add-On Directory","./clp-bin/lib"], + "Build Directory":"example\\build", + "Module Directory":"example\\modules", + "Include Directories":["Default Add-On Include Directory","modules"] + }, + "Target":"example.exe", + "Fortran Options":{ + "Use C Preprocessor":"false", + "Runtime Diagnostics":"false", + "Cray Pointers":"false", + "Enable Coarrays":"false", + "Enable OpenMP":"false", + "Initialize Variables to Zero":"false", + "Default Double for Real":"false" + }, + "Code Generation Options":{ + "CPU Specific":"false", + "Processor":"generic", + "Aggressive Loops":"false", + "Debugging":"true", + "Optimization Mode":0, + "Floating Point Trap":"false", + "Profiling":"false" + }, + "Build Dependencies":1, + "Launch Options":{ + "Working Directory":"", + "Launch Using MPI":"false", + "Keep Console":"true", + "External Console":"false", + "Command Line Arguments":"", + "Build Before Launch":"true" + }, + "Build Options":{ + "Makefile":"Makefile.example", + "Auto Makefile":"true" + }, + "Linker Options":{ + "Static Linking Mode":7, + "Link MPI Library":"false", + "Link LAPACK":0 + } + } +} \ No newline at end of file diff --git a/libClpFortran.prj b/libClpFortran.prj new file mode 100644 index 0000000..d100f44 --- /dev/null +++ b/libClpFortran.prj @@ -0,0 +1,75 @@ +{ + "Root":{ + "Folders":[{ + "Folders":[], + "Name":"+src", + "Files":[{ + "filename":".\\src\\clp.f90", + "enabled":"1" + },{ + "filename":".\\src\\clp_constants.f90", + "enabled":"1" + },{ + "filename":".\\src\\clp_types.f90", + "enabled":"1" + }] + }], + "Name":"+libClpFortran (libClpFortran.a)", + "Files":[] + }, + "Name":"libClpFortran (libClpFortran.a)", + "Options":{ + "Compiler Options":{ + "Fortran Flags":"", + "Link Flags":"", + "C Flags":"" + }, + "Architecture":1, + "Type":2, + "Revision":2, + "Windows GUI":0, + "File Options":{ + "Library Directories":["Default Add-On Directory"], + "Build Directory":"build", + "Module Directory":"modules", + "Include Directories":["Default Add-On Include Directory"] + }, + "Target":"libClpFortran.a", + "Fortran Options":{ + "Use C Preprocessor":"false", + "Runtime Diagnostics":"false", + "Cray Pointers":"false", + "Enable Coarrays":"false", + "Enable OpenMP":"false", + "Initialize Variables to Zero":"false", + "Default Double for Real":"false" + }, + "Code Generation Options":{ + "CPU Specific":"false", + "Processor":"generic", + "Aggressive Loops":"false", + "Debugging":"true", + "Optimization Mode":0, + "Floating Point Trap":"false", + "Profiling":"false" + }, + "Build Dependencies":1, + "Launch Options":{ + "Working Directory":"", + "Launch Using MPI":"false", + "Keep Console":"true", + "External Console":"false", + "Command Line Arguments":"", + "Build Before Launch":"true" + }, + "Build Options":{ + "Makefile":"Makefile", + "Auto Makefile":"true" + }, + "Linker Options":{ + "Static Linking Mode":7, + "Link MPI Library":"false", + "Link LAPACK":0 + } + } +} \ No newline at end of file -- cgit v1.2.3