use Config;

#$makefile = "t/Makefile";
$cfile = shift;
$makefile = shift || "Makefile";
$libperl = shift || "-lperl"; #might be -lperlm, etc.

open(MAKEFILE, "> $makefile") || die "can't open '$makfile' $!";

print MAKEFILE <<"HEAD";
#ExtUtils::Embed test Makefile

RM = $Config{rm} -f
CC = $Config{cc}
PERL = $Config{perlpath}
NAME = $cfile
STATIC_EXTS = -std $Config{static_ext}
EXTRA_LINK_ARGS = $libperl

HEAD

print MAKEFILE <<'EOM';

EXTUTILS_EMBED = $(PERL)  -I../blib -I../lib -MExtUtils::Embed
XS_INIT =  `$(EXTUTILS_EMBED) -e xsinit -- -o xsinit.c $(STATIC_EXTS)`
CCOPTS = `$(EXTUTILS_EMBED) -e ccopts` 
LDOPTS = `$(EXTUTILS_EMBED) -e ldopts -- $(STATIC_EXTS) -- $(EXTRA_LINK_ARGS)`

OBJS = xsinit.o $(NAME).o

all : $(NAME)

xsinit.c :
	$(XS_INIT)
 
xsinit.o :
	$(CC) $(CCFLAGS) -c xsinit.c $(CCOPTS)

$(NAME).o : 
	$(CC) $(CCFLAGS) -c $(NAME).c $(CCOPTS)

$(NAME) : xsinit.c $(OBJS)
	$(CC) -o $@ $(OBJS) $(LDOPTS)

clean : 
	$(RM) *.o *~ *.bak xsinit.c $(NAME)

EOM

close MAKEFILE;
