Projet mkd/MinGW

De Wiki EELL.

Version du 2 décembre 2015 à 18:25 par JPL (discuter | contributions)
(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

Retour vers les fichiers en développement

Sommaire

Remarques

mkd.exe version X86 a été compilée sous windows XP avec MinGW 

elle a été testée tel quel, version 2013, avec succès en novembre 2015 sous windows-10, minGW (2015), cygwin-X86_64 (2015)

Contrairement au système Cygwin il n'y a pas d'option de compilation à appliquer.

Versions multilingues 

Cette version de l'exécutable est en anglais. Les exécutables multilingues pour windows sont en cours d'étude avec gettext.
Il est toutefois possible d'ajouter les documents et les manuels dans différentes langues : (en) (de) (fr)
Voyez le projet en développement cygwin sans recompiler l'exécutable.

* Exécutez make -d install DESTDIR=~/tests pour voir les documents dans le répertoire ~/tests.
* Recopiez les documents qui vous intéressent dans le répertoire cygwin ou mingw correspondant.
* Commande suggérée dans le répertoire ~/tests :
   cp -Rf usr /.

La prise en charge des langages de programmation inclus dans find.inc.c est conforme aux manuels de 2013.

Télécharger

mkd-130530(mingw).zip

Exécution

Note : Make peut ne pas avoir été téléchargé dans votre versions de mingw.

rem file: Make_mkd_MinGW.bat
make -f MinGW.mak
make -f MinGW.mak clean
make -f MinGW.mak copydoc

ou :

rem file: ...
echo "clean directory"
del *.o mkd.exe
echo "create objects files"
gcc -c *.c
echo "link the objects files and create mkd.exe"
gcc -o mkd.exe *.o
echo "clean the directory"
delete *.o

Makefile

# file: MinGW.mak (Makefile pour mkd version 130530 alpha)
# command : make -f  MinGW.mak
# create may 2013 by Clara for mingw
# modified ... by ... for
# 
# Attention: avant de compiler, il faut valider les options de compilation
# dans version.h (notamment version UNIX ou version PC, ainsi que la langue)
#
######################################

PGM     = mkd.exe
CC      = cc
BINDIR  = /usr/bin  #  /usr/bin = mingw\msys\1.0\bin
DOCDIR  = /usr/share/doc
BINMODE = 755

SRCS    = mkd.c asm.c basic.c cpp.c fortran.c pascal.c shell.c tri.c
HDRS    = version.h mkd.h asm.h basic.h cpp.h fortran.h pascal.h shell.c \
find.inc.c find.inc.h tri.h
OBJS    = mkd.o asm.o basic.o cpp.o fortran.o pascal.o shell.o tri.o
LIBS    =
CFLAGS  =  
LDFLAGS =
SPLINTFLAG = 

#install: $(BINDIR)/$(PGM) # $(MANUALS) 

$(BINDIR)/$(PGM): $(SRCS) $(HDRS)
	-@echo "*********** update $(PGM) :"
	$(CC) $(CFLAGS) -o $(PGM) $(SRCS)
	@#$(CC) $(LDFLAGS) -o $(PGM) $(OBJS) $(LIBS)
	-@strip $(PGM) 					# clean ASM and LINK reloc.
  #
	-@echo "***********  update $(BINDIR)/mkd.exe:" 		# install PGM in BINDIR
	-@if [ -d $(BINDIR) ]; then \
		rm -f /usr/bin/mkd.exe; \
		cp -f mkd.exe /usr/bin/.   # cp -f $(PGM) $(BINDIR)/$(PGM);\
		chmod 755 /usr/bin/mkd.exe # chmod $(BINMODE) $(BINDIR)/$(PGM);\
		if [ $(BINDIR) != "/bin" ]; then \
			ln -s /usr/bin/mkd.exe /bin/mkd.exe # ln -s $(BINDIR)/$(PGM) /bin/$(PGM);\
		fi \
	else \
		echo "couldn't find $(BINDIR)";\
	fi
  #
  
copydoc:
	-@echo "***********  update $(DOCDIR)/mkd:"
	-if [ -d $(DOCDIR) ]; then \
		if [ ! -d $(DOCDIR)/mkd ]; then \
			mkdir $(DOCDIR)/mkd; \
			cp -rf doc/* $(DOCDIR)/mkd/.; \
		#fi \
		else if [ -d $(DOCDIR)/mkd ]; then \
			cp -rf doc/* $(DOCDIR)/mkd/.; \
			fi \
		fi \
	else \
		echo "couldn't find $(DOCDIR)"; \
	fi  

clean:
	rm -f $(OBJS)
Outils personnels