!INCLUDE ..\win32\common.mak ### Also:- client.exe server.exe sample_apps=sample-client.exe sample-server.exe sample_out=sample-client.pdb sample-server.pdb client.pdb server.pdb server_SOURCES = server.c common.c common.h client_SOURCES = client.c common.c common.h compat_sources = getaddrinfo.c getnameinfo.c sample_client_SOURCES = sample-client.c sample_server_SOURCES = sample-server.c common_objs = common.obj server_objs = server.obj client_objs = client.obj compat_objs = getaddrinfo.obj getnameinfo.obj sample_client_objs = sample-client.obj sample_server_objs = sample-server.obj !IF $(TARGET_WIN_SYSTEM) < 51 common_objs = $(common_objs) $(compat_objs) !ENDIF all_objs = $(common_objs) $(server_objs) $(client_objs) $(sample_client_objs) $(sample_server_objs) all_out = $(sample_apps) $(sample_out) DB_FLAGS = /I $(DB_INCLUDE) CPPFLAGS = /I "..\win32\include" /I "." /I "..\include" $(DB_FLAGS) /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" CPPFLAGS = $(CPPFLAGS) /DNEED_GETOPT !IF $(TARGET_WIN_SYSTEM) >= 51 CPPFLAGS = /D TARGET_WIN_SYSTEM=$(TARGET_WIN_SYSTEM) $(CPPFLAGS) !ENDIF SASL_LIB=/libpath:"..\lib" libsasl.lib # EXTRA_LIBS is automatically included into LINK32EXE_FLAGS/LINK32DLL_FLAGS EXTRA_LIBS=$(SASL_LIB) # Where to install files from this directory bindir = $(prefix)\bin all : all-recursive # # /I flag to xcopy tells to treat the last parameter as directory and create all missing levels # # In order to force xcopy not to confirm if the second parameter is file or directory, # the first parameter has to contain a wildcard character. For example, we use libsasl.l*, # instead of libsasl.lib. Ugly, but works! # # Note, that we will copy all executabless here, not just $(sample_apps). This is a bug, but it allows # us to copy optionally built executables, which might not be in $(sample_apps). The latter is a feature. # install: $(sample_apps) @xcopy *.exe $(bindir) /I /F /Y all-recursive : $(sample_apps) server.exe: $(server_objs) $(common_objs) $(LINK32EXE) @<< $(LINK32EXE_FLAGS) /pdb:"server.pdb" /out:"server.exe" $(server_objs) $(common_objs) << client.exe: $(client_objs) $(common_objs) $(LINK32EXE) @<< $(LINK32EXE_FLAGS) /pdb:"client.pdb" /out:"client.exe" $(client_objs) $(common_objs) << sample-server.exe: $(sample_server_objs) $(LINK32EXE) @<< $(LINK32EXE_FLAGS) /pdb:"sample-server.pdb" /out:"sample-server.exe" $(sample_server_objs) << sample-client.exe: $(sample_client_objs) $(LINK32EXE) @<< $(LINK32EXE_FLAGS) /pdb:"sample-client.pdb" /out:"sample-client.exe" $(sample_client_objs) << getaddrinfo.c: ..\lib\getaddrinfo.c copy ..\lib\getaddrinfo.c . getnameinfo.c: ..\lib\getnameinfo.c copy ..\lib\getnameinfo.c . CLEAN : -@erase $(all_objs) -@erase "*.idb" -@erase "*.pch" -@erase "*.pdb" -@erase $(all_out) -@erase getaddrinfo.c .c.obj:: $(CPP) @<< $(CPP_PROJ) $< << .cpp.obj:: $(CPP) @<< $(CPP_PROJ) $< << .cxx.obj:: $(CPP) @<< $(CPP_PROJ) $< <<