[go: up one dir, main page]

Menu

[17deec]: / mex / Makefile_mingw  Maximize  Restore  History

Download this file

62 lines (45 with data), 1.6 kB

# To run this makefile, you must provide your system specific EXT and MATLABROOT
# variables on the command line e.g.:
#
# make -f Makefile_mingw64 MATLABROOT="C:\Program Files\MATLAB\R2011b"  EXT=mexw64 ARCH=win64

ifndef MATLABROOT
  $(warning MATLABROOT variable is undefined. Using default MATLABROOT="C:\Program Files\MATLAB\R2011b" )
  MATLABROOT=C:\Program Files\MATLAB\R2011b
endif

ifndef EXT
  $(warning EXT variable is undefined. Using default EXT=mexw64 )
  EXT=mexw64
endif

ifndef ARCH
  $(warning ARCH variable is undefined. Using default ARCH=win64 )
  ARCH=win64
endif

ifndef DFFTW
   DFFTW=-lfftw3-3
endif

ifndef SFFTW
   SFFTW=-lfftw3f-3
endif

CFLAGS=-shared -s -Wall -std=c99 -I../libltfat/modules/libltfat/include -fvisibility=hidden -DLTFAT_LARGEARRAYS 

ifndef POST2018a
CFLAGS+=-DMATLAB_MEXCMD_RELEASE=R2017b
else
CFLAGS+=-DMATLAB_MEXCMD_RELEASE=R2018a
endif

# the following adds parameters to CFLAGS
include ../libltfat/comptarget.mk

include filedefs.mk
include ../libltfat/ostools.mk

MEXBASE = $(MEXBASESAFE) $(MEXBASEMORE)
MEXS    = $(addsuffix .$(EXT),$(MEXBASE))

MEXCOMPFLAGS=-I"$(MATLABROOT)\extern\include" 
MEXLINKFLAGS=-static-libgcc -Wl,--dll -L"$(MATLABROOT)\bin\$(ARCH)" \
			 -lmex -lmx -lmwlapack -lmwblas 

all: $(MEXS)

$(MEXS): %.$(EXT): %.c 
	$(CC) $(CFLAGS) $(MEXCOMPFLAGS) $< -o $@ -L./ $(DFFTW) $(SFFTW) -lltfat $(MEXLINKFLAGS)

ltfatarghelper.$(EXT):
	$(CC) $(CFLAGS) $(MEXCOMPFLAGS) -o $@ ltfatarghelper.c ../libltfat/ltfatcompat/utils/list.c -lc -lm $(MEXLINKFLAGS)

clean: 
	$(RM) *.$(EXT)

.PHONY: all clean