ifndef WCE
WCE = 4
endif
# Due to the coredll of Windows CE 1.x are missing very important C standard support,
# the Windows CE 1.x system does not yet supported.

CC = arm-mingw32ce-gcc
AR = arm-mingw32ce-ar
WRC = arm-mingw32ce-windres
CFLAGS += -Wall -D_WCE=$(WCE) -Iinclude-private -Iinclude -O1
OBJECTS = \
	assert.o \
	environ.o \
	errno.o \
	getcwd.o \
	locale.o \
	mman.o \
	sleep.o \
	statfs.o \
	system.o \
	posix-io/chmod.o \
	posix-io/close.o \
	posix-io/creat.o \
	posix-io/dirent.o \
	posix-io/dup.o \
	posix-io/fsync.o \
	posix-io/isatty.o \
	posix-io/lseek.o \
	posix-io/open.o \
	posix-io/read.o \
	posix-io/stat.o \
	posix-io/truncate.o \
	posix-io/write.o \
	process/getpid.o \
	process/signal.o \
	string/bcopy.o \
	string/index.o \
	string/strcoll.o \
	string/strerror.o \
	string/strnlen.o \
	time/gettime.o \
	time/gettimeofday.o \
	time/settime.o \
	time/settimeofday.o \
	time/time.o \
	time/utimens.o \
	time/utimes.o

ifeq ($(WCE),1)
OBJECTS += \
	string/mbstowcs.o \
	string/wcstombs.o
else
OBJECTS += \
	stdio/perror.o \
	stdio/remove.o \
	stdio/rename.o \
	stdio/rewind.o \
	stdio/setbuffer.o
endif

first:	libc.a c.dll

libc.a:	$(OBJECTS)
	$(AR) -r libc.a $(OBJECTS)

c.dll:	$(OBJECTS) celibc.rc.o
	$(CC) --shared $(OBJECTS) celibc.rc.o -o c.dll -lmmtimer

celibc.rc.o:	celibc.rc
	arm-mingw32ce-windres celibc.rc -o $@

clean:
	rm -f *.dll *.a $(OBJECTS) *.o


cedll.dll:	cedll.o cedll.rc.o libc.a
	$(CC) --shared cedll.o cedll.rc.o -o $@ -L. -lc

cedll.rc.o:	cedll.rc
	$(WRC) cedll.rc -o $@


# 不是目标：
celibc.rc:	;
cedll.rc:	;
