EXE = bin/xml.exe

all: $(EXE)

EMPTY = 

CONTRIB = ../contrib

EXPAT_DIR = $(CONTRIB)/expat-2.2.0
EXPAT_INCLUDE_DIR = $(EXPAT_DIR)/lib
EXPAT_LIB_DIR = $(EXPAT_DIR)/win32/bin/Release
EXPAT_LIBS = libexpatMT.lib

OBJS = \
	obj/xml.obj \
	obj/xml_test.obj \
	$(EMPTY)

WIN32_LIBS = kernel32.lib comdlg32.lib user32.lib gdi32.lib ole32.lib wsock32.lib Ws2_32.lib comctl32.lib shell32.lib oleaut32.lib advapi32.lib uuid.lib Winspool.lib

# === Compilereinstellungen ===

CPPFLAGS=-nologo -EHsc -Ox -MT -W4 -WX -Iinclude -I$(EXPAT_INCLUDE_DIR) -DWIN32 -D_WINDOWS -D_CRT_NOFORCE_MANIFEST -D_CRT_SECURE_NO_WARNINGS -DNDEBUG

# === Linkereinstellungen ===

LDFLAGS=-nologo -MANIFEST:NO -LIBPATH:$(EXPAT_LIB_DIR)
LDFLAGS2=$(WIN32_LIBS) $(EXPAT_LIBS)

$(EXE): $(OBJS)
	@echo link $@
	@link.exe $(LDFLAGS) -out:$@ $(LDFLAGS2) $(OBJS)

obj/%.obj: src/%.cpp
	@echo compiling $@
	cl $(CPPFLAGS) -Tp$< -c -Fo$@

obj/%.obj: src/%.c
	@echo compiling $@
	@cl $(CPPFLAGS) -Tc$< -c -Fo$@

clean:
	@echo cleaning...
	@del bin\*.exe
	@del obj\**
	@del *.pdb

