rokdcasbah said:
			
		
	
	
		
		
			but seriously, i can understand this request. i hate makefiles too. i was doing a lot of stuff from the command line.
		
		
	 
Thats right, some makefiles are completely unuseable for windows user. For instance MakeFile for GnuRobbo [ 
http://gnurobbo.sourceforge.net/ ] is completely f*.*ed up, messed and You dont wanna even touch it by the stick. This makefile is a real pain in ass for windows user who dont use linux. Thats why i dont like it... 
Let see how it looks like:
CODE
# Makefile.in generated by automake 1.7.1 from Makefile.am.
# Makefile.  Generated from Makefile.in by configure.
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
srcdir = .
top_srcdir = .
pkgdatadir = $(datadir)/gnurobbo
pkglibdir = $(libdir)/gnurobbo
pkgincludedir = $(includedir)/gnurobbo
top_builddir = .
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = /usr/bin/install -c
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
ACLOCAL = ${SHELL} /home/alus/gnurobbo/gnurobbo-0.57/missing --run aclocal-1.7
AMDEP_FALSE = #
AMDEP_TRUE = 
AMTAR = ${SHELL} /home/alus/gnurobbo/gnurobbo-0.57/missing --run tar
AUTOCONF = ${SHELL} /home/alus/gnurobbo/gnurobbo-0.57/missing --run autoconf
AUTOHEADER = ${SHELL} /home/alus/gnurobbo/gnurobbo-0.57/missing --run autoheader
AUTOMAKE = ${SHELL} /home/alus/gnurobbo/gnurobbo-0.57/missing --run automake-1.7
AWK = gawk
CC = gcc
CCDEPMODE = depmode=gcc3
CFLAGS = -g -O2
CPP = gcc -E
CPPFLAGS = 
CYGPATH_W = echo
DEFS = -DHAVE_CONFIG_H
DEPDIR = .deps
ECHO_C = 
ECHO_N = -n
ECHO_T = 
EGREP = grep -E
EXEEXT = 
INSTALL_DATA = ${INSTALL} -m 644
INSTALL_PROGRAM = ${INSTALL}
INSTALL_SCRIPT = ${INSTALL}
INSTALL_STRIP_PROGRAM = ${SHELL} $(install_sh) -c -s
LDFLAGS = 
LIBS = -lpthread -lSDL_ttf -lSDL 
LN_S = ln -s
LTLIBOBJS = 
MAKEINFO = ${SHELL} /home/alus/gnurobbo/gnurobbo-0.57/missing --run makeinfo
OBJEXT = o
PACKAGE = gnurobbo
PACKAGE_BUGREPORT = 
PACKAGE_NAME = 
PACKAGE_STRING = 
PACKAGE_TARNAME = 
PACKAGE_VERSION = 
PATH_SEPARATOR = :
SET_MAKE = 
SHELL = /bin/sh
STRIP = 
VERSION = 0.57
ac_ct_CC = gcc
ac_ct_STRIP = 
am__fastdepCC_FALSE = #
am__fastdepCC_TRUE = 
am__include = include
am__quote = 
bindir = ${exec_prefix}/bin
build_alias = 
datadir = ${prefix}/share
exec_prefix = ${prefix}
host_alias = 
includedir = ${prefix}/include
infodir = ${prefix}/info
install_sh = /home/alus/gnurobbo/gnurobbo-0.57/install-sh
libdir = ${exec_prefix}/lib
libexecdir = ${exec_prefix}/libexec
localstatedir = ${prefix}/var
mandir = ${prefix}/man
oldincludedir = /usr/include
prefix = /usr/local
program_transform_name = s,x,x,
sbindir = ${exec_prefix}/sbin
sharedstatedir = ${prefix}/com
sysconfdir = ${prefix}/etc
target_alias = 
bin_PROGRAMS = gnurobbo
gnurobbo_SOURCES = game.c game.h board.c data_init.c
EXTRA_DIST = levels.dat icons/icons.bmp robbo.ttf icons/ciphers.bmp icons/background.bmp
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
bin_PROGRAMS = gnurobbo$(EXEEXT)
PROGRAMS = $(bin_PROGRAMS)
am_gnurobb

BJECTS = game.$(OBJEXT) board.$(OBJEXT) data_init.$(OBJEXT)
gnurobb

BJECTS = $(am_gnurobb

BJECTS)
gnurobbo_LDADD = $(LDADD)
gnurobbo_DEPENDENCIES =
gnurobbo_LDFLAGS =
DEFAULT_INCLUDES =  -I. -I$(srcdir) -I.
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
DEP_FILES = ./$(DEPDIR)/board.Po ./$(DEPDIR)/data_init.Po \
    ./$(DEPDIR)/game.Po
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
    $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DIST_SOURCES = $(gnurobbo_SOURCES)
DIST_COMMON = README AUTHORS COPYING ChangeLog INSTALL Makefile.am \
    Makefile.in NEWS TODO aclocal.m4 config.h.in configure \
    configure.ac depcomp install-sh missing mkinstalldirs
SOURCES = $(gnurobbo_SOURCES)
all: config.h
    $(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
.SUFFIXES: .c .o .obj
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
 configure.lineno
$(srcdir)/Makefile.in:  Makefile.am  $(top_srcdir)/configure.ac $(ACLOCAL_M4)
    cd $(top_srcdir) && \
      $(AUTOMAKE) --gnu  Makefile
Makefile:  $(srcdir)/Makefile.in  $(top_builddir)/config.status
    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)
$(top_builddir)/config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
    $(SHELL) ./config.status --recheck
$(srcdir)/configure:  $(srcdir)/configure.ac $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
    cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4):  configure.ac 
    cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
config.h: stamp-h1
    @if test ! -f $@; then \
      rm -f stamp-h1; \
      $(MAKE) stamp-h1; \
    else :; fi
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
    @rm -f stamp-h1
    cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in:  $(top_srcdir)/configure.ac $(ACLOCAL_M4) 
    cd $(top_srcdir) && $(AUTOHEADER)
    touch $(srcdir)/config.h.in
distclean-hdr:
    -rm -f config.h stamp-h1
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
install-binPROGRAMS: $(bin_PROGRAMS)
    @$(NORMAL_INSTALL)
    $(mkinstalldirs) $(DESTDIR)$(bindir)
    @list='$(bin_PROGRAMS)'; for p in $$list; do \
      p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
      if test -f $$p \
     ; then \
        f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
       echo " $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f"; \
       $(INSTALL_PROGRAM_ENV) $(binPROGRAMS_INSTALL) $$p $(DESTDIR)$(bindir)/$$f || exit 1; \
      else :; fi; \
    done
uninstall-binPROGRAMS:
    @$(NORMAL_UNINSTALL)
    @list='$(bin_PROGRAMS)'; for p in $$list; do \
      f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
      echo " rm -f $(DESTDIR)$(bindir)/$$f"; \
      rm -f $(DESTDIR)$(bindir)/$$f; \
    done
clean-binPROGRAMS:
    -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
gnurobbo$(EXEEXT): $(gnurobb

BJECTS) $(gnurobbo_DEPENDENCIES) 
    @rm -f gnurobbo$(EXEEXT)
    $(LINK) $(gnurobbo_LDFLAGS) $(gnurobb

BJECTS) $(gnurobbo_LDADD) $(LIBS)
mostlyclean-compile:
    -rm -f *.$(OBJEXT) core *.core
distclean-compile:
    -rm -f *.tab.c
include ./$(DEPDIR)/board.Po
include ./$(DEPDIR)/data_init.Po
include ./$(DEPDIR)/game.Po
distclean-depend:
    -rm -rf ./$(DEPDIR)
.c.o:
    if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
      -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$<; \
    then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
    else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
    fi
#    source='$<' object='$@' libtool=no \
#    depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' \
#    $(CCDEPMODE) $(depcomp) \
#    $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$<
.c.obj:
    if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" \
      -c -o $@ `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'`; \
    then mv "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; \
    else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
    fi
#    source='$<' object='$@' libtool=no \
#    depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' \
#    $(CCDEPMODE) $(depcomp) \
#    $(COMPILE) -c `if test -f '$<'; then $(CYGPATH_W) '$<'; else $(CYGPATH_W) '$(srcdir)/$<'`
uninstall-info-am:
ETAGS = etags
ETAGSFLAGS =
CTAGS = ctags
CTAGSFLAGS =
tags: TAGS
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
    list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
    unique=`for i in $$list; do \
        if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
      done | \
      $(AWK) '    { files[$$0] = 1; } \
           END { for (i in files) print i; }'`; \
    mkid -fID $$unique
TAGS:  $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
        $(TAGS_FILES) $(LISP)
    tags=; \
    here=`pwd`; \
    list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
    unique=`for i in $$list; do \
        if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
      done | \
      $(AWK) '    { files[$$0] = 1; } \
           END { for (i in files) print i; }'`; \
    test -z "$(ETAGS_ARGS)$$tags$$unique" \
      || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
         $$tags $$unique
ctags: CTAGS
CTAGS:  $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
        $(TAGS_FILES) $(LISP)
    tags=; \
    here=`pwd`; \
    list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
    unique=`for i in $$list; do \
        if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
      done | \
      $(AWK) '    { files[$$0] = 1; } \
           END { for (i in files) print i; }'`; \
    test -z "$(CTAGS_ARGS)$$tags$$unique" \
      || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
         $$tags $$unique
GTAGS:
    here=`$(am__cd) $(top_builddir) && pwd` \
      && cd $(top_srcdir) \
      && gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
    -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
top_distdir = .
distdir = $(PACKAGE)-$(VERSION)
am__remove_distdir = \
  { test ! -d $(distdir) \
    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
         && rm -fr $(distdir); }; }
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
distdir: $(DISTFILES)
    $(am__remove_distdir)
    mkdir $(distdir)
    $(mkinstalldirs) $(distdir)/icons
    @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
    topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
    list='$(DISTFILES)'; for file in $$list; do \
      case $$file in \
        $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
        $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
      esac; \
      if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
      dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
      if test "$$dir" != "$$file" && test "$$dir" != "."; then \
        dir="/$$dir"; \
        $(mkinstalldirs) "$(distdir)$$dir"; \
      else \
        dir='; \
      fi; \
      if test -d $$d/$$file; then \
        if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
          cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
        fi; \
        cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
      else \
        test -f $(distdir)/$$file \
        || cp -p $$d/$$file $(distdir)/$$file \
        || exit 1; \
      fi; \
    done
    $(MAKE) $(AM_MAKEFLAGS) \
      top_distdir="$(top_distdir)" distdir="$(distdir)" \
      dist-hook
    -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} ; -o \
      ! -type d ! -perm -444 -links 1 -exec chmod a+r {} ; -o \
      ! -type d ! -perm -400 -exec chmod a+r {} ; -o \
      ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} ; \
    || chmod -R a+r $(distdir)
dist-gzip: distdir
    $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
    $(am__remove_distdir)
dist dist-all: distdir
    $(AMTAR) chof - $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
    $(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration.  Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
    $(am__remove_distdir)
    GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(AMTAR) xf -
    chmod -R a-w $(distdir); chmod a+w $(distdir)
    mkdir $(distdir)/=build
    mkdir $(distdir)/=inst
    chmod a-w $(distdir)
    dc_install_base=`$(am__cd) $(distdir)/=inst && pwd` \
      && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
      && cd $(distdir)/=build \
      && ../configure --srcdir=.. --prefix="$$dc_install_base" \
        $(DISTCHECK_CONFIGURE_FLAGS) \
      && $(MAKE) $(AM_MAKEFLAGS) \
      && $(MAKE) $(AM_MAKEFLAGS) dvi \
      && $(MAKE) $(AM_MAKEFLAGS) check \
      && $(MAKE) $(AM_MAKEFLAGS) install \
      && $(MAKE) $(AM_MAKEFLAGS) installcheck \
      && $(MAKE) $(AM_MAKEFLAGS) uninstall \
      && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
            distuninstallcheck \
      && chmod -R a-w "$$dc_install_base" \
      && ({ \
           (cd ../.. && $(mkinstalldirs) "$$dc_destdir") \
           && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
           && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
           && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
                distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
          } || { rm -rf "$$dc_destdir"; exit 1; }) \
      && rm -rf "$$dc_destdir" \
      && $(MAKE) $(AM_MAKEFLAGS) dist-gzip \
      && rm -f $(distdir).tar.gz \
      && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
    $(am__remove_distdir)
    @echo "$(distdir).tar.gz is ready for distribution" | \
      sed 'h;s/./=/g;p;x;p;x'
distuninstallcheck:
    cd $(distuninstallcheck_dir) \
    && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
       || { echo "ERROR: files left after uninstall:"; \
            if test -n "$(DESTDIR)"; then \
              echo "  (check DESTDIR support)"; \
            fi; \
            $(distuninstallcheck_listfiles); \
            exit 1; } >&2
distcleancheck: distclean
    if test '$(srcdir)' = .; then \
      echo "ERROR: distcleancheck can only run from a VPATH build"; \
      exit 1; \
    fi
    test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
      || { echo "ERROR: files left in build directory after distclean:"; \
           $(distcleancheck_listfiles); \
           exit 1; } >&2
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS) config.h
installdirs:
    $(mkinstalldirs) $(DESTDIR)$(bindir)
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
    @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
    $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
      INSTALL_STRIP_FLAG=-s \
      `test -z '$(STRIP)' || \
        echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
    -rm -f Makefile $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
    @echo "This command is intended for maintainers to use"
    @echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-binPROGRAMS clean-generic mostlyclean-am
distclean: distclean-am
    -rm -f $(am__CONFIG_DISTCLEAN_FILES)
distclean-am: clean-am distclean-compile distclean-depend \
    distclean-generic distclean-hdr distclean-tags
dvi: dvi-am
dvi-am:
info: info-am
info-am:
install-data-am: install-data-local
install-exec-am: install-binPROGRAMS
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
    -rm -f $(am__CONFIG_DISTCLEAN_FILES)
    -rm -rf autom4te.cache
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-binPROGRAMS uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
    clean-generic ctags dist dist-all dist-gzip distcheck distclean \
    distclean-compile distclean-depend distclean-generic \
    distclean-hdr distclean-tags distcleancheck distdir \
    distuninstallcheck dvi dvi-am info info-am install install-am \
    install-binPROGRAMS install-data install-data-am \
    install-data-local install-exec install-exec-am install-info \
    install-info-am install-man install-strip installcheck \
    installcheck-am installdirs maintainer-clean \
    maintainer-clean-generic mostlyclean mostlyclean-compile \
    mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
    uninstall-am uninstall-binPROGRAMS uninstall-info-am
install-data-local:
    @$(NORMAL_INSTALL)
    if test -d $(srcdir)/pixmaps; then \
      $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)/pixmaps; \
        for pixmap in $(srcdir)/pixmaps/*; do \
          if test -f $$pixmap; then \
           $(INSTALL_DATA) $$pixmap $(DESTDIR)$(pkgdatadir)/pixmaps; \
          fi \
        done \
    fi
    $(INSTALL_DATA) robbo.ttf $(DESTDIR)$(pkgdatadir)
    $(INSTALL_DATA) levels.dat $(DESTDIR)$(pkgdatadir)
dist-hook:
    if test -d pixmaps; then \
      mkdir $(distdir)/pixmaps; \
      for pixmap in pixmaps/*; do \
        if test -f $$pixmap; then \
         cp -p $$pixmap $(distdir)/pixmaps; \
        fi \
      done \
    fi
    cp -p robbo.ttf $(destdir)
    cp -p levels.dat $(destdir)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT: