#	Fichier	: $RCSfile: Makefile_idl_gcc_Win32,v $, v $Revision: 1.4 $
#
#	Date	: $Date: 2017/11/15 10:35:37 $
#
#	Auteur	: $Author: penou $
#
#	Version	: %Z% version %I% de %M% du %G%
#	___________________________________________________
#
#	Fichier makefile des librairies du CLL3 utilisees par IDL
#
#	Fichier specifique compilateur gcc sur Windows
#

all:    clean conf_gcc file libascii libxml write_ascii util get_data3d interpoler2d_points interpoler2dxy interpoler2dy noninterpoler2d expression external maglibc rocotlibc dsp_external filecdf

clean:
	del /Q lib\*_32.dll

conf_gcc:   src/conf_gcc.c
	gcc src/conf_gcc.c -o conf_gcc
	conf_gcc
	del /Q conf_gcc.exe

file:	src/file.c src/glob.c src/expression.c ../ZLIB/adler32.c ../ZLIB/compress.c ../ZLIB/crc32.c ../ZLIB/deflate.c ../ZLIB/gzio.c ../ZLIB/infback.c ../ZLIB/inffast.c ../ZLIB/inflate.c ../ZLIB/inftrees.c ../ZLIB/trees.c ../ZLIB/uncompr.c ../ZLIB/zutil.c
	gcc -Wall -Wno-unused -O3 -shared -finline 					\
		-D_FILE_OFFSET_BITS=64 							\
		-D_LARGEFILES64_SOURCE 							\
		-D_LARGEFILE_SOURCE 							\
		-Iinc 									\
		-I../ZLIB 								\
		-I$(IDL_DIR)/external 							\
		-I$(IDL_DIR)/external/include 						\
		src/file.c 								\
		src/glob.c 								\
		src/expression.c 							\
		../ZLIB/adler32.c 							\
		../ZLIB/compress.c 							\
		../ZLIB/crc32.c 							\
		../ZLIB/deflate.c 							\
		../ZLIB/gzio.c 								\
		../ZLIB/infback.c 							\
		../ZLIB/inffast.c 							\
		../ZLIB/inflate.c 							\
		../ZLIB/inftrees.c 							\
		../ZLIB/trees.c 							\
		../ZLIB/uncompr.c 							\
		../ZLIB/zutil.c 							\
		$(IDL_DIR)\BIN\BIN.X86\idl.dll -o lib/file_32.dll

libascii:	src/libascii.c ../ZLIB/adler32.c ../ZLIB/compress.c ../ZLIB/crc32.c ../ZLIB/deflate.c ../ZLIB/gzio.c ../ZLIB/infback.c ../ZLIB/inffast.c ../ZLIB/inflate.c ../ZLIB/inftrees.c ../ZLIB/trees.c ../ZLIB/uncompr.c ../ZLIB/zutil.c
	gcc -Wall -O3 -shared -finline 			 				\
		-D_FILE_OFFSET_BITS=64 							\
		-D_LARGEFILES64_SOURCE 							\
		-D_LARGEFILE_SOURCE 							\
		-Iinc 									\
		-I../ZLIB 								\
		-I$(IDL_DIR)/external 							\
		-I$(IDL_DIR)/external/include 						\
		src/libascii.c 								\
		../ZLIB/adler32.c 							\
		../ZLIB/compress.c 							\
		../ZLIB/crc32.c 							\
		../ZLIB/deflate.c 							\
		../ZLIB/gzio.c 								\
		../ZLIB/infback.c 							\
		../ZLIB/inffast.c 							\
		../ZLIB/inflate.c 							\
		../ZLIB/inftrees.c 							\
		../ZLIB/trees.c 							\
		../ZLIB/uncompr.c 							\
		../ZLIB/zutil.c 							\
		$(IDL_DIR)\BIN\BIN.X86\idl.dll -o lib/libascii_32.dll

libxml:	src/libxml.c
	gcc -Wall -O3 -shared -finline 						 	\
		-D_FILE_OFFSET_BITS=64 							\
		-D_LARGEFILES64_SOURCE 							\
		-D_LARGEFILE_SOURCE 							\
		-Iinc 									\
		-I$(IDL_DIR)/external 							\
		-I$(IDL_DIR)/external/include 						\
		src/libxml.c 								\
		$(IDL_DIR)\BIN\BIN.X86\idl.dll -o lib/libxml_32.dll

write_ascii:	src/write_ascii.c
	gcc -Wall -Wno-unused -O3 -shared -finline 			 		\
		-D_FILE_OFFSET_BITS=64 							\
		-D_LARGEFILES64_SOURCE 							\
		-D_LARGEFILE_SOURCE 							\
		-Iinc 									\
		-I$(IDL_DIR)/external 							\
		-I$(IDL_DIR)/external/include 						\
		src/write_ascii.c 							\
		-o lib/write_ascii_32.dll

util:	src/util.c src/glob.c
	gcc -Wall -Wno-unused -O3 -shared -finline 					\
		-D_FILE_OFFSET_BITS=64 							\
		-D_LARGEFILES64_SOURCE 							\
		-D_LARGEFILE_SOURCE 							\
		-Iinc 									\
		-I$(IDL_DIR)/external 							\
		-I$(IDL_DIR)/external/include 						\
		src/util.c 								\
		src/glob.c 								\
		$(IDL_DIR)\BIN\BIN.X86\idl.dll -o lib/util_32.dll

get_data3d:	src/get_data3d.c
	gcc -Wall -Wno-unused -O3 -shared -finline 					\
		-D_FILE_OFFSET_BITS=64 							\
		-D_LARGEFILES64_SOURCE 							\
		-D_LARGEFILE_SOURCE 							\
		-Iinc 									\
		-I$(IDL_DIR)/external 							\
		-I$(IDL_DIR)/external/include 						\
		src/get_data3d.c 							\
		$(IDL_DIR)\BIN\BIN.X86\idl.dll -o lib/get_data3d_32.dll

interpoler2d_points:	src/interpoler2d_points.c
	gcc -Wall -O3 -shared -finline 							\
		-D_FILE_OFFSET_BITS=64 							\
		-D_LARGEFILES64_SOURCE 							\
		-D_LARGEFILE_SOURCE 							\
		-Iinc 									\
		src/interpoler2d_points.c 						\
		-o lib/interpoler2d_points_32.dll

interpoler2dxy:	src/interpoler2dxy.c
	gcc -Wall -O3 -shared -finline 							\
		-D_FILE_OFFSET_BITS=64 							\
		-D_LARGEFILES64_SOURCE 							\
		-D_LARGEFILE_SOURCE 							\
		-Iinc src/interpoler2dxy.c						\
		-o lib/interpoler2dxy_32.dll

interpoler2dy:	src/interpoler2dy.c
	gcc -Wall -O3 -shared -finline 							\
		-D_FILE_OFFSET_BITS=64 							\
		-D_LARGEFILES64_SOURCE 							\
		-D_LARGEFILE_SOURCE 							\
		-Iinc src/interpoler2dy.c 						\
		-o lib/interpoler2dy_32.dll

noninterpoler2d:	src/noninterpoler2d.c
	gcc -Wall -O3 -shared -finline 							\
		-D_FILE_OFFSET_BITS=64 							\
		-D_LARGEFILES64_SOURCE 							\
		-D_LARGEFILE_SOURCE 							\
		-Iinc 									\
		src/noninterpoler2d.c 							\
		-o lib/noninterpoler2d_32.dll

expression:	src/expression.c
	gcc -Wall -O3 -shared -finline 			 				\
		-D_FILE_OFFSET_BITS=64 							\
		-D_LARGEFILES64_SOURCE 							\
		-D_LARGEFILE_SOURCE 							\
		-Iinc 									\
		-I$(IDL_DIR)/external 							\
		-I$(IDL_DIR)/external/include 						\
		src/expression.c 							\
		$(IDL_DIR)\BIN\BIN.X86\idl.dll -o lib/expression_32.dll

external:	src/external.c ../LIB/src/errors.c ../LIB/src/times.c ../LIB/src/symbols.c ../LIB/src/FILES.c ../CALIB/src/calib.c ../CALIB/src/catalog.c src/glob.c
	gcc -Wall -Wno-unused -O3 -shared -finline 					\
		-D_FILE_OFFSET_BITS=64 							\
		-D_LARGEFILES64_SOURCE 							\
		-D_LARGEFILE_SOURCE 							\
		-Iinc 									\
		-I../CALIB/inc 								\
		-I../LIB/inc 								\
		-I$(IDL_DIR)/external 							\
		-I$(IDL_DIR)/external/include 						\
		src/external.c 								\
		../LIB/src/errors.c 							\
		../LIB/src/times_bcc32.c 						\
		../LIB/src/symbols.c 							\
		../LIB/src/IRAP.c 							\
		../LIB/src/FILES_bcc32.c 						\
		../CALIB/src/calib.c 							\
		../CALIB/src/catalog.c 							\
		src/glob.c 								\
		$(IDL_DIR)\BIN\BIN.X86\idl.dll -o lib/external_32.dll

maglibc:
	gcc -Wall -O3 -shared -finline 			 				\
		-D_FILE_OFFSET_BITS=64 							\
		-D_LARGEFILES64_SOURCE 							\
		-D_LARGEFILE_SOURCE 							\
		-Iinc 									\
		src/maglibc.c 								\
		src/maglib_geodip.c 							\
		src/maglib_geogsm.c 							\
		src/maglib_inigeo1.c 							\
		src/maglib_julg.c 							\
		src/maglib_promal.c 							\
		src/maglib_promat.c 							\
		src/maglib_rogdip.c 							\
		src/maglib_roggsm.c 							\
		src/maglib_rogse.c 							\
		src/maglib_rogsm.c 							\
		src/maglib_roig.c 							\
		src/maglib_roise.c 							\
		src/maglib_rosmgs.c 							\
		src/maglib_segeo.c 							\
		src/maglib_solter00.c 							\
		src/maglib_solter05.c 							\
		src/maglib_solter10.c 							\
		src/maglib_sun.c 							\
		src/maglib_valfix.c 							\
		src/maglib_util_com.c 							\
		src/maglib_util2_com.c 							\
		src/f2c.c 								\
		-o lib/maglibc_32.dll

rocotlibc:
	gcc -Wall -Wno-unused -O3 -shared -finline 					\
		-D_FILE_OFFSET_BITS=64 							\
		-D_LARGEFILES64_SOURCE 							\
		-D_LARGEFILE_SOURCE 							\
		-Iinc 									\
		src/rocotlibc.c 							\
		src/f2c.c 								\
		-o lib/rocotlibc_32.dll
dsp_external:
	cd tmp
	copy \DATA\DOUBLE_STAR\SOFT\LIB\inc\DSPLIB.h .
	copy \DATA\DOUBLE_STAR\SOFT\LIB\inc\ARCH.h .
	copy \DATA\DOUBLE_STAR\SOFT\LIB\inc\ERREURS.h .
	copy \DATA\DOUBLE_STAR\SOFT\LIB\inc\FILES.h .
	copy \DATA\DOUBLE_STAR\SOFT\LIB\inc\LISTS.h .
	copy \DATA\DOUBLE_STAR\SOFT\LIB\inc\SYMBOLS.h .
	copy \DATA\DOUBLE_STAR\SOFT\LIB\inc\HEADER.h .
	copy \DATA\DOUBLE_STAR\SOFT\LIB\inc\INTERFACE.h .
	copy \DATA\DOUBLE_STAR\SOFT\CALIB\inc\CALIB.h .
	copy \DATA\DOUBLE_STAR\SOFT\CALIB\inc\HIA.h .
	copy \DATA\DOUBLE_STAR\SOFT\CALIB\inc\HSK.h .
	copy \DATA\DOUBLE_STAR\SOFT\LIB\src\ERREURS.c .
	copy \DATA\DOUBLE_STAR\SOFT\LIB\src\ARCH.c .
	copy \DATA\DOUBLE_STAR\SOFT\LIB\src\FILES.c .
	copy \DATA\DOUBLE_STAR\SOFT\LIB\src\HEADER.c .
	copy \DATA\DOUBLE_STAR\SOFT\LIB\src\LISTS.c .
	copy \DATA\DOUBLE_STAR\SOFT\LIB\src\MATHS.c .
	copy \DATA\DOUBLE_STAR\SOFT\LIB\inc\MATHS.h .
	copy \DATA\DOUBLE_STAR\SOFT\LIB\src\TIMES.c .
	copy \DATA\DOUBLE_STAR\SOFT\LIB\inc\TIMES.h .
	copy \DATA\DOUBLE_STAR\SOFT\LIB\src\SYMBOLS.c .
	copy \DATA\DOUBLE_STAR\SOFT\CALIB\src\HSK.c .
	copy \DATA\DOUBLE_STAR\SOFT\CALIB\src\EXTERNAL.c .
	copy \DATA\DOUBLE_STAR\SOFT\CALIB\src\HIA.c .
	copy \DATA\DOUBLE_STAR\SOFT\CALIB\src\CALIB.c .
	gcc -Wall -Wno-unused -O3 -shared -finline 			 		\
		-D_FILE_OFFSET_BITS=64 							\
		-D_LARGEFILES64_SOURCE 							\
		-D_LARGEFILE_SOURCE 							\
		-I../inc 								\
		-I.									\
		-I$(IDL_DIR)/external 							\
		-I$(IDL_DIR)/external/include 						\
		external.c 								\
		erreurs.c 								\
		arch.c 									\
		files.c 								\
		header.c 								\
		interface.c 								\
		lists.c 								\
		maths.c 								\
		symbols.c 								\
		glob.c 									\
		times.c 								\
		calib.c 								\
		hia.c 									\
		hsk.c 									\
		$(IDL_DIR)\BIN\BIN.X86\idl.dll -o ../lib/dsp_external_32.dll
	cd ..
	del /Q tmp
	rmdir tmp

filecdf:	src/filecdf.c

	gcc -Wall -Wno-unused -O2 -DPENOU -shared 					\
		-D_FILE_OFFSET_BITS=64 							\
		-D_LARGEFILES64_SOURCE 							\
		-D_LARGEFILE_SOURCE 							\
		-Iinc									\
		-I../CDFLIB/cdf36_3-dist/src/lib/zlib					\
		-I../CDFLIB/cdf36_3-dist/src/include 					\
		-I$(IDL_DIR)/external 							\
		-I$(IDL_DIR)/external/include						\
		../CDFLIB/cdf36_3-dist/src/lib/zlib/adler32.c				\
		../CDFLIB/cdf36_3-dist/src/lib/zlib/inffast.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/zlib/trees.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/zlib/crc32.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/zlib/inflate.c				\
		../CDFLIB/cdf36_3-dist/src/lib/zlib/infback.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/zlib/zutil.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/zlib/deflate.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/zlib/inftrees.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/zlib/compress.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdflib.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfcre.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfope.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfclo.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfdel.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfsel.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfcon.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfget.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfmisc2.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfread.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfwrite.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfhyper.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/epochuf.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/dirutils.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfput1.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfput2.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfcsi.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdffsi.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdffii.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdftext.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfed.c 					\
		../CDFLIB/cdf36_3-dist/src/lib/cdfstr.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfvalid.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfmem.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/vstream.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/epochu.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfmisc3.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfhuff.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfrle.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfmisc1.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfalloc.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfgzip.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfalloc64.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfdel64.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfmisc2_64.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfread64.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfclo64.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfget64.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfmisc3_64.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfsel64.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfcon64.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfput1_64.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfwrite64.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfcre64.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfmisc1_64.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfput2_64.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/vstream64.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfhyper64.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfrle64.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfhuff64.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfgzip64.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdffsi2.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdffsi3.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfcks.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfmd5.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfsav.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfvalidator.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdfvalidator64.c 			\
		../CDFLIB/cdf36_3-dist/src/lib/cdftt2000.c 				\
		../CDFLIB/cdf36_3-dist/src/lib/cdftt2000f.c 				\
		src/filecdf.c 								\
		$(IDL_DIR)\BIN\BIN.X86\idl.dll -o lib/filecdf_32.dll

