
# Rule for building objects from NASM assembly files
obj/%.o: %.asm
	nasm -o $@ -f win32 $<

# Rule for building the WinDIB library
lib/SDL-dib.dll: $(PORTABLE_OBJS) $(DIB_OBJS) $(ASM_OBJS)
	$(CC) -mdll -o obj/junk.tmp -Wl,--base-file,obj/base.tmp $^ -luser32 -lgdi32 -lwinmm
	rm obj/junk.tmp
	dlltool --dllname SDL-dib.dll --base-file obj/base.tmp --output-exp obj/_temp.exp --def src/win32/exports/SDL.def
	rm obj/base.tmp
	$(CC) -mdll -o $@ $^ -Wl,obj/_temp.exp -luser32 -lgdi32 -lwinmm
	rm obj/_temp.exp

# Rule for building the DirectX library
lib/SDL-dx5.dll: $(PORTABLE_OBJS) $(DX6_OBJS) $(ASM_OBJS)
	$(CC) -mdll -o obj/junk.tmp -Wl,--base-file,obj/base.tmp $^ -luser32 -lgdi32 -lwinmm -Ldirectx/lib -lddraw -ldsound -ldinput
	rm obj/junk.tmp
	dlltool --dllname SDL-dx5.dll --base-file obj/base.tmp --output-exp obj/_temp.exp --def src/win32/exports/SDL.def
	rm obj/base.tmp
	$(CC) -mdll -o $@ $^ -Wl,obj/_temp.exp -luser32 -lgdi32 -lwinmm -Ldirectx/lib -lddraw -ldsound -ldinput
	rm obj/_temp.exp

