I compiled a program with gcc using a makefile, and when I try to run the executable I get the following error:

"C:\windows\system32\cmd.exe The NTVDM CPU has encountered an illegal instruction cS:0dca IP:01a7 OP:63 79 67 77 69"

I think it may have something to do with the way my makefile is written. Does anyone see anything wrong with it?:

Makefile:

Code:
bin_PROGRAMS = Program1


SOURCE_DIR = $(top_srcdir)
SOURCE_INCLUDE_DIR = $(SOURCE_DIR)/../../include
SOURCE_COMMON_DIR = $(SOURCE_DIR)/../../common
SOURCE_LDSCRIPT_DIR = $(SOURCE_DIR)


CC=gcc
AM_CFLAGS=-c -Wall
AM_LDFLAGS=-M -T $(SOURCE_LDSCRIPT_DIR)/Linker.ld  
SOURCES= $(SOURCE_DIR)/Main.c \
         $(SOURCE_DIR)/Error1.c \
         $(SOURCE_DIR)/File2.c \
         $(SOURCE_DIR)/File3.c \
         $(SOURCE_DIR)/File4.s \
         $(SOURCE_DIR)/File5.s 

OBJECTS=$(SOURCES:.c=.o)



all: Map
	
Map : $(OBJECTS) 
	$(CC) $(AM_LDFLAGS) $(SOURCES) -o $@

%.o : %.c 
	$(CC) $(AM_CFLAGS) $< -o $@
%.o : %.s 
	$(CC) $(AM_CFLAGS) $< -o $@