# Gmake macros for building Windows 32-Bit apps include cygwin32.mak ifeq "$(NODEBUG)" "" DLLSTART=,-e,_DllMain@12 endif all: demo.exe select.dll # Update the object files if necessary demo.o: demo.c $(cc) $(cflags) $(cvarsdll) $(cdebug) demo.c select.o: select.c $(cc) $(cflags) $(cvarsdll) $(cdebug) select.c # Update the resources if necessary demo.res: demo.rc demo.h $(rc) $(rcvars) -r demo.rc # Update the import library select.a: select.def select.base $(link) $(dlllflags) -Wl,--base-file=select.base$(DLLSTART) \ select.exp select.o $(guilibsdll) $(implib) --machine $(CPU) --dllname $(basename $@).dll --output-exp \ $(basename $@).exp --output-lib $@ --base-file select.base \ --def select.def # Update the dynamic link library select.base: select.o $(link) $(dlllflags) -Wl,--base-file=select.base$(DLLSTART) \ select.o $(guilibsdll) $(implib) --machine $(CPU) --dllname $(basename $@).dll \ --output-exp $(basename $@).exp --base-file select.base --def select.def select.dll: select.a $(link) $(dlllflags) -Wl$(DLLSTART) -oselect.dll \ select.exp select.o $(guilibsdll) # Update the executable file if necessary. # If so, add the resource back in. demo.base: demo.o select.dll demo.res $(link) $(lflags) -Wl,--base-file=demo.base,--heap,1024,--stack,5120 \ -odemo.exe demo.o select.a $(guilibsdll) rsrc demo.res demo.exe $(implib) --dll demo.exe --def demo.def --base-file demo.base \ --output-exp demo.exp demo.a: demo.base demo.def $(link) $(lflags) -Wl,--base-file=demo.base,--heap,1024,--stack,5120 \ -odemo.exe demo.exp demo.o select.a $(guilibsdll) rsrc demo.res demo.exe $(implib) --dll demo.exe --def demo.def --base-file demo.base \ --output-exp demo.exp --output-lib demo.a demo.exe: demo.a $(link) $(lflags) -odemo.exe demo.exp demo.o select.a -Wl,--heap,1024,--stack,5120 $(guilibsdll) rsrc demo.res $@