Advertisement
andryuhat

Untitled

Apr 19th, 2012
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Make 1.82 KB | None | 0 0
  1. ROOT_DIR= ..
  2. BUILD_TYPE= Release
  3. BUILD_DIR= $(ROOT_DIR)/$(BUILD_TYPE)
  4.  
  5. TARGETS= ftp_auto_backup sftp_auto_backup
  6.  
  7. CXXFLAGS= -DBOOST_THREAD_USE_LIB -O3 -Wall -fmessage-length=0
  8. FTP_LDFLAGS= -static-libstdc++ -static-libgcc -s -L $(ROOT_DIR)/lib/Release -l:libboost_thread-mgw46-mt-1_49.a -l:libcommon.a \
  9.     -l:libfile.a -l:libfilesearcher.a -l:libftpclient.a -l:libftplib.a -l:libdbclient.a -l:libsqlite3.a -l:libscheduler.a -l:libws2_32.a
  10. SFTP_LDFLAGS= -static-libstdc++ -static-libgcc -s -L $(ROOT_DIR)/lib/Release -l:libboost_thread-mgw46-mt-1_49.a -l:libcommon.a \
  11.     -l:libfile.a -l:libfilesearcher.a -l:libdbclient.a -l:libsqlite3.a -l:libscheduler.a -l:libsftpclient.a -l:libws2_32.a -l:libssh.dll
  12.  
  13. OBJECTS= $(O_DIR)/appconfig.cpp $(O_DIR)/backuplauncher.cpp $(O_DIR)/clientbackup.cpp $(O_DIR)/main.o
  14.  
  15. all: init $(TARGETS)
  16.  
  17. debug: CXXFLAGS= -O0 -g3 -Wall -fmessage-length=0
  18. debug: BUILD_TYPE= Debug
  19. debug: all
  20.  
  21. init:
  22.     @mkdir -p $(BUILD_DIR)
  23.  
  24. ftp_auto_backup: set_type_ftp $(OBJECTS)
  25.     $(CXX) -o $(BUILD_DIR)/$@.exe $(OBJECTS) $(FTP_LDFLAGS)
  26.  
  27. sftp_auto_backup: set_type_sftp $(OBJECTS)
  28.     $(CXX) -o $(BUILD_DIR)/$@.exe $(OBJECTS) $(SFTP_LDFLAGS)
  29.  
  30. set_type_ftp:
  31.     $(eval O_DIR= $(BUILD_DIR)/ftp_auto_backup/obj)
  32.     @mkdir -p $(O_DIR)
  33.     $(eval CXXFLAGS+=-DPROJECT_TYPE=FTP)
  34.    
  35. set_type_sftp:
  36.     $(eval O_DIR= $(BUILD_DIR)/sftp_auto_backup/obj)
  37.     @mkdir -p $(O_DIR)
  38.     $(eval CXXFLAGS+=-DPROJECT_TYPE=SFTP)
  39.  
  40. $(O_DIR)/%.o: %.cpp
  41.     $(CXX) -c $(CXXFLAGS) $< -o $(O_DIR)$@ > /dev/null 2>&1
  42.  
  43. clean:
  44.     rm -rf $(foreach target,$(TARGETS),$(addprefix $(ROOT_DIR)/Release/$(target)/obj/,$(notdir $(OBJECTS)))) $(foreach target,$(TARGETS),$(addprefix $(ROOT_DIR)/Debug/$(target)/obj/,$(notdir $(OBJECTS))))
  45.     rm -rf $(addprefix $(ROOT_DIR)/Release/,$(addsuffix .exe,$(TARGETS))) $(addprefix $(ROOT_DIR)/Debug/,$(addsuffix .exe,$(TARGETS)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement