STATICLIB = testDLL.a
SHAREDLIB = testDLL.dll
IMPLIB    = testDLL.dll.a
TESTSHAREDLIB = testDLLexe.exe

#LOC = -DASMV
#LOC = -DDEBUG -g

EXE =

TARGET = arm-wince-cegcc

CC = $(TARGET)-gcc$(EXE)
CPPFLAGS = -D_WIN32_WCE=0x0400 -D_WIN32_IE=0x0400 -DNO_ERRNO_H
CFLAGS = $(LOC) -O3 -Wall -mms-bitfields

AS = $(CC)
ASFLAGS = $(LOC) -Wall

LD = $(CC)
LDFLAGS = $(LOC) -Wl,--enable-auto-import -Wl,-s
AR = $(TARGET)-ar$(EXE)
ARFLAGS = rcs
RC = $(TARGET)-windres$(EXE)
RCFLAGS = --define GCC_WINDRES
DLLTOOL = $(TARGET)-dlltool$(EXE)

CP = cp -fp
# If GNU install is available, replace $(CP) with install.
INSTALL = $(CP)
RM = rm -f

prefix = /opt/cegcc
exec_prefix = $(prefix)
BIN_PATH = $(prefix)/bin
INCLUDE_PATH = $(prefix)/include
LIBRARY_PATH = $(prefix)/lib

OBJS = testDLL.o 
OBJA =

all: $(SHAREDLIB) $(IMPLIB) $(TESTSHAREDLIB)

.c.o:
	$(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@ $<

.S.o:
	$(AS) $(ASFLAGS) -c -o $@ $<

$(STATICLIB): $(OBJS) $(OBJA)
	$(AR) $(ARFLAGS) $@ $(OBJS) $(OBJA)

$(IMPLIB): $(SHAREDLIB)

$(SHAREDLIB): $(OBJS) $(OBJA) testDLL.o
	$(DLLTOOL) --dllname=$(SHAREDLIB) --output-lib $(IMPLIB)
	$(CC) -DTESTDLL_EXPORTS -shared -o $@ \
	-Wl,-s \
	-Wl,--out-implib=$(IMPLIB) \
	-Wl,--export-all-symbols \
	-Wl,--enable-auto-import \
	$(OBJS) $(OBJA)

$(TESTSHAREDLIB): testDLLexe.o
	${CC} -o $@ testDLLexe.o testDLL.dll 
  
# INCLUDE_PATH and LIBRARY_PATH must be set.

.PHONY: clean

clean:
	-$(RM) $(STATICLIB)
	-$(RM) $(SHAREDLIB)
	-$(RM) $(IMPLIB)
	-$(RM) $(TESTSHAREDLIB)


