BOINCDIR = ./boinc
DEBUG = -D__DEBUG__ -g3
OBJ  = boinc_api.o util.o win_util.o app_ipc.o diagnostics.o diagnostics_win.o filesys.o hostinfo.o md5.o md5_file.o mem_usage.o mfile.o miofile.o parse.o prefs.o proxy_info.o str_util.o shmem.o stackwalker_win.o base64.o
LINKOBJ  = $(OBJ)
LDFLAGS = -lwinmm -march=i386
INCS = -I"$(BOINCDIR)" -I"$(BOINCDIR)/db" -I"$(BOINCDIR)" -I"$(BOINCDIR)/lib" -I"$(BOINCDIR)/api" 
CXXINCS = $(INCS)
BIN  = libboinc.a
#
CXXFLAGS = $(CXXINCS) $(DEBUG) --include $(BOINCDIR)/version.h -DWIN32 -D_WIN32 -D_WIN32_WINDOWS=0x0501 -D_MT -DNDEBUG -D_WINDOWS  -DBOINC -DCLIENT -DNODB -D_CONSOLE -Wall -mtune=pentium-m   -fexceptions -march=i386 -O1
CFLAGS = $(INCS) $(DEBUG) --include $(BOINCDIR)/version.h -DWIN32 -D_WIN32 -D_WIN32_WINDOWS=0x0501 -D_MT -DNDEBUG -D_WINDOWS  -DBOINC -DCLIENT -DNODB -D_CONSOLE -Wall -mtune=pentium-m   -fexceptions -march=i386 -O1


.PHONY: all all-before all-after clean clean-custom

all: all-before $(BIN) all-after


clean: clean-custom
	${RM} $(OBJ) $(BIN)

$(BIN): $(LINKOBJ)
	$(AR) rc $@ $(LINKOBJ)
	ranlib $@

%.o: $(BOINCDIR)/api/%.C
	$(CXX) -c $< -o $@ $(CXXFLAGS)

%.o: $(BOINCDIR)/lib/%.C
	$(CXX) -c $< -o $@ $(CXXFLAGS)

md5.o: $(BOINCDIR)/lib/md5.c
	$(CXX) -c $(BOINCDIR)/lib/md5.c -o md5.o $(CXXFLAGS)

stackwalker_win.o: $(BOINCDIR)/lib/stackwalker_win.cpp
	$(CXX) -c $(BOINCDIR)/lib/stackwalker_win.cpp -o stackwalker_win.o $(CXXFLAGS)