CFLAGS = /nologo /Zi /MT /Gm- /W4 /FR LIBS = kernel32.lib gdi32.lib user32.lib shell32.lib \ advapi32.lib ole32.lib ws2_32.lib rpcrt4.lib WINSPOOL_LIBS = winspool.lib all: AbortPrinter.exe AddForm.exe AddJob.exe AddPrinter.exe AddPrinterConnection.exe AddPrinterDriver.exe AddPrinterDriverEx.exe AddPrinterEx.exe DeleteForm.exe DeletePrinter.exe DeletePrinterConnection.exe DeletePrinterData.exe DeletePrinterDataEx.exe DeletePrinterDriver.exe DeletePrinterDriverEx.exe DeletePrinterKey.exe DocPrinter.exe EnumForms.exe EnumJobs.exe EnumMonitors.exe EnumPorts.exe EnumPrinterData.exe EnumPrinterDataEx.exe EnumPrinterDrivers.exe EnumPrinterKey.exe EnumPrinters.exe EnumPrintProcessorDatatypes.exe EnumPrintProcessors.exe GetForm.exe GetJob.exe GetPrinter.exe GetPrinterData.exe GetPrinterDataEx.exe GetPrinterDriver.exe GetPrinterDriverDirectory.exe GetPrintProcessorDirectory.exe OpenPrinter.exe PagePrinter.exe PrinterChangeNotification.exe PrinterChangeNotify.exe ResetPrinter.exe SetForm.exe SetJob.exe SetPrinter.exe SetPrinterData.exe SetPrinterDataEx.exe SetPrinterDataExW.exe .cpp.obj: cl /c $(CFLAGS) $*.cpp .c.obj: cl /c $(CFLAGS) $*.c clean: cleantmp -del *.dll 2>nul cleantmp: -del *~ *.o *.obj *.sbr *.bsc *.pdb *.lib *.ilk *.exp 2>nul -del test_s.c test_c.c test.h 2>nul ############################### # helpers ############################### printlib.obj: printlib.c ############################### # binaries ############################### AbortPrinter.obj: AbortPrinter.c AbortPrinter.exe: AbortPrinter.obj printlib.obj cl $(CFLAGS) /Fe$@ AbortPrinter.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) AddForm.obj: AddForm.c AddForm.exe: AddForm.obj printlib.obj cl $(CFLAGS) /Fe$@ AddForm.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) AddJob.obj: AddJob.c AddJob.exe: AddJob.obj printlib.obj cl $(CFLAGS) /Fe$@ AddJob.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) AddPrinter.obj: AddPrinter.c AddPrinter.exe: AddPrinter.obj printlib.obj cl $(CFLAGS) /Fe$@ AddPrinter.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) AddPrinterConnection.obj: AddPrinterConnection.c AddPrinterConnection.exe: AddPrinterConnection.obj printlib.obj cl $(CFLAGS) /Fe$@ AddPrinterConnection.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) AddPrinterDriver.obj: AddPrinterDriver.c AddPrinterDriver.exe: AddPrinterDriver.obj printlib.obj cl $(CFLAGS) /Fe$@ AddPrinterDriver.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) AddPrinterDriverEx.obj: AddPrinterDriverEx.c AddPrinterDriverEx.exe: AddPrinterDriverEx.obj printlib.obj cl $(CFLAGS) /Fe$@ AddPrinterDriverEx.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) AddPrinterEx.obj: AddPrinterEx.c AddPrinterEx.exe: AddPrinterEx.obj printlib.obj cl $(CFLAGS) /Fe$@ AddPrinterEx.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) DeleteForm.obj: DeleteForm.c DeleteForm.exe: DeleteForm.obj printlib.obj cl $(CFLAGS) /Fe$@ DeleteForm.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) DeletePrinter.obj: DeletePrinter.c DeletePrinter.exe: DeletePrinter.obj printlib.obj cl $(CFLAGS) /Fe$@ DeletePrinter.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) DeletePrinterConnection.obj: DeletePrinterConnection.c DeletePrinterConnection.exe: DeletePrinterConnection.obj printlib.obj cl $(CFLAGS) /Fe$@ DeletePrinterConnection.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) DeletePrinterData.obj: DeletePrinterData.c DeletePrinterData.exe: DeletePrinterData.obj printlib.obj cl $(CFLAGS) /Fe$@ DeletePrinterData.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) DeletePrinterDataEx.obj: DeletePrinterDataEx.c DeletePrinterDataEx.exe: DeletePrinterDataEx.obj printlib.obj cl $(CFLAGS) /Fe$@ DeletePrinterDataEx.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) DeletePrinterDriver.obj: DeletePrinterDriver.c DeletePrinterDriver.exe: DeletePrinterDriver.obj printlib.obj cl $(CFLAGS) /Fe$@ DeletePrinterDriver.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) DeletePrinterDriverEx.obj: DeletePrinterDriverEx.c DeletePrinterDriverEx.exe: DeletePrinterDriverEx.obj printlib.obj cl $(CFLAGS) /Fe$@ DeletePrinterDriverEx.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) DeletePrinterKey.obj: DeletePrinterKey.c DeletePrinterKey.exe: DeletePrinterKey.obj printlib.obj cl $(CFLAGS) /Fe$@ DeletePrinterKey.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) DocPrinter.obj: DocPrinter.c DocPrinter.exe: DocPrinter.obj printlib.obj cl $(CFLAGS) /Fe$@ DocPrinter.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) EnumForms.obj: EnumForms.c EnumForms.exe: EnumForms.obj printlib.obj cl $(CFLAGS) /Fe$@ EnumForms.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) EnumJobs.obj: EnumJobs.c EnumJobs.exe: EnumJobs.obj printlib.obj cl $(CFLAGS) /Fe$@ EnumJobs.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) EnumMonitors.obj: EnumMonitors.c EnumMonitors.exe: EnumMonitors.obj printlib.obj cl $(CFLAGS) /Fe$@ EnumMonitors.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) EnumPorts.obj: EnumPorts.c EnumPorts.exe: EnumPorts.obj printlib.obj cl $(CFLAGS) /Fe$@ EnumPorts.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) EnumPrinterData.obj: EnumPrinterData.c EnumPrinterData.exe: EnumPrinterData.obj printlib.obj cl $(CFLAGS) /Fe$@ EnumPrinterData.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) EnumPrinterDataEx.obj: EnumPrinterDataEx.c EnumPrinterDataEx.exe: EnumPrinterDataEx.obj printlib.obj cl $(CFLAGS) /Fe$@ EnumPrinterDataEx.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) EnumPrinterDrivers.obj: EnumPrinterDrivers.c EnumPrinterDrivers.exe: EnumPrinterDrivers.obj printlib.obj cl $(CFLAGS) /Fe$@ EnumPrinterDrivers.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) EnumPrinterKey.obj: EnumPrinterKey.c EnumPrinterKey.exe: EnumPrinterKey.obj printlib.obj cl $(CFLAGS) /Fe$@ EnumPrinterKey.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) EnumPrinters.obj: EnumPrinters.c EnumPrinters.exe: EnumPrinters.obj printlib.obj cl $(CFLAGS) /Fe$@ EnumPrinters.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) EnumPrintProcessorDatatypes.obj: EnumPrintProcessorDatatypes.c EnumPrintProcessorDatatypes.exe: EnumPrintProcessorDatatypes.obj printlib.obj cl $(CFLAGS) /Fe$@ EnumPrintProcessorDatatypes.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) EnumPrintProcessors.obj: EnumPrintProcessors.c EnumPrintProcessors.exe: EnumPrintProcessors.obj printlib.obj cl $(CFLAGS) /Fe$@ EnumPrintProcessors.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) GetForm.obj: GetForm.c GetForm.exe: GetForm.obj printlib.obj cl $(CFLAGS) /Fe$@ GetForm.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) GetJob.obj: GetJob.c GetJob.exe: GetJob.obj printlib.obj cl $(CFLAGS) /Fe$@ GetJob.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) GetPrinter.obj: GetPrinter.c GetPrinter.exe: GetPrinter.obj printlib.obj cl $(CFLAGS) /Fe$@ GetPrinter.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) GetPrinterData.obj: GetPrinterData.c GetPrinterData.exe: GetPrinterData.obj printlib.obj cl $(CFLAGS) /Fe$@ GetPrinterData.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) GetPrinterDataEx.obj: GetPrinterDataEx.c GetPrinterDataEx.exe: GetPrinterDataEx.obj printlib.obj cl $(CFLAGS) /Fe$@ GetPrinterDataEx.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) GetPrinterDriver.obj: GetPrinterDriver.c GetPrinterDriver.exe: GetPrinterDriver.obj printlib.obj cl $(CFLAGS) /Fe$@ GetPrinterDriver.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) GetPrinterDriverDirectory.obj: GetPrinterDriverDirectory.c GetPrinterDriverDirectory.exe: GetPrinterDriverDirectory.obj printlib.obj cl $(CFLAGS) /Fe$@ GetPrinterDriverDirectory.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) GetPrintProcessorDirectory.obj: GetPrintProcessorDirectory.c GetPrintProcessorDirectory.exe: GetPrintProcessorDirectory.obj printlib.obj cl $(CFLAGS) /Fe$@ GetPrintProcessorDirectory.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) OpenPrinter.obj: OpenPrinter.c OpenPrinter.exe: OpenPrinter.obj printlib.obj cl $(CFLAGS) /Fe$@ OpenPrinter.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) PagePrinter.obj: PagePrinter.c PagePrinter.exe: PagePrinter.obj printlib.obj cl $(CFLAGS) /Fe$@ PagePrinter.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) PrinterChangeNotification.obj: PrinterChangeNotification.c PrinterChangeNotification.exe: PrinterChangeNotification.obj printlib.obj cl $(CFLAGS) /Fe$@ PrinterChangeNotification.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) PrinterChangeNotify.obj: PrinterChangeNotify.c PrinterChangeNotify.exe: PrinterChangeNotify.obj printlib.obj cl $(CFLAGS) /Fe$@ PrinterChangeNotify.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) ResetPrinter.obj: ResetPrinter.c ResetPrinter.exe: ResetPrinter.obj printlib.obj cl $(CFLAGS) /Fe$@ ResetPrinter.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) SetForm.obj: SetForm.c SetForm.exe: SetForm.obj printlib.obj cl $(CFLAGS) /Fe$@ SetForm.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) SetJob.obj: SetJob.c SetJob.exe: SetJob.obj printlib.obj cl $(CFLAGS) /Fe$@ SetJob.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) SetPrinter.obj: SetPrinter.c SetPrinter.exe: SetPrinter.obj printlib.obj cl $(CFLAGS) /Fe$@ SetPrinter.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) SetPrinterData.obj: SetPrinterData.c SetPrinterData.exe: SetPrinterData.obj printlib.obj cl $(CFLAGS) /Fe$@ SetPrinterData.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) SetPrinterDataEx.obj: SetPrinterDataEx.c SetPrinterDataEx.exe: SetPrinterDataEx.obj printlib.obj cl $(CFLAGS) /Fe$@ SetPrinterDataEx.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS) SetPrinterDataExW.obj: SetPrinterDataExW.c SetPrinterDataExW.exe: SetPrinterDataExW.obj printlib.obj cl $(CFLAGS) /Fe$@ SetPrinterDataExW.obj printlib.obj \ /link /incremental:no /subsystem:console $(LIBS) $(WINSPOOL_LIBS)