72 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| # === Global variables ===
 | |
| MAIN_CLASS = fr.iutfbleau.papillon.Start
 | |
| BUILD_DIR = build
 | |
| SRC_DIR = src/fr/iutfbleau/papillon
 | |
| SRC_BUILD = fr\iutfbleau\papillon
 | |
| LIB_DIR := lib
 | |
| LIB := $(LIB_DIR)/mariadb
 | |
| JAR_NAME = papillon.jar
 | |
| DOC_DIR = doc
 | |
| 
 | |
| # === OS detection ===
 | |
| ifeq ($(OS),Windows_NT)
 | |
| 	SEP = ;
 | |
| 	RM = del /Q
 | |
| 	RMDIR = rmdir /S /Q
 | |
| else
 | |
| 	SEP = :
 | |
| 	RM = rm -f
 | |
| 	RMDIR = rm -rf
 | |
| endif
 | |
| 
 | |
| # === Compilation ===
 | |
| compile:
 | |
| 	@echo === Compilation du projet ===
 | |
| 	javac -encoding UTF-8 -cp "$(LIB_DIR)$(SEP)$(LIB_DIR)/org/mariadb/jdbc" -d $(BUILD_DIR) $(SRC_DIR)/*.java
 | |
| 	@echo Compilation terminee
 | |
| 
 | |
| # === Run the program ===
 | |
| run:
 | |
| 	@echo === Execution du programme ===
 | |
| ifeq ($(OS),Windows_NT)
 | |
| 	java -cp "$(BUILD_DIR);$(LIB_DIR);$(LIB_DIR)/mariadb;$(LIB_DIR)/mariadb/org/mariadb/jdbc" $(MAIN_CLASS)
 | |
| else
 | |
| 	java -cp "$(BUILD_DIR):$(LIB_DIR):$(LIB_DIR)/mariadb:$(LIB_DIR)/mariadb/org/mariadb/jdbc" $(MAIN_CLASS)
 | |
| endif
 | |
| 
 | |
| # === Create JAR ===
 | |
| jar: compile
 | |
| 	@echo === Creation du JAR autonome ===
 | |
| 	echo Main-Class: $(MAIN_CLASS) > manifest.txt
 | |
| 	jar cfm $(JAR_NAME) manifest.txt -C $(BUILD_DIR) .
 | |
| 	@$(RM) manifest.txt 2>nul || true
 | |
| 	@echo JAR cree avec succes: $(JAR_NAME)
 | |
| 
 | |
| # === Run from JAR ===
 | |
| run-jar:
 | |
| 	@echo === Execution du JAR ===
 | |
| ifeq ($(OS),Windows_NT)
 | |
| 	java -cp "$(JAR_NAME);$(LIB_DIR);$(LIB_DIR)/mariadb;$(LIB_DIR)/mariadb/org/mariadb/jdbc" $(MAIN_CLASS)
 | |
| else
 | |
| 	java -cp "$(JAR_NAME):$(LIB_DIR):$(LIB_DIR)/mariadb:$(LIB_DIR)/mariadb/org/mariadb/jdbc" $(MAIN_CLASS)
 | |
| endif
 | |
| 
 | |
| # === Generate documentation ===
 | |
| doc:
 | |
| 	@echo === Generation de la documentation Javadoc ===
 | |
| 	javadoc -d $(DOC_DIR) -encoding UTF-8 -cp "$(LIB_DIR)$(SEP)$(LIB_DIR)/org/mariadb/jdbc" $(SRC_DIR)/*.java
 | |
| 	@echo Documentation generee dans le dossier doc/
 | |
| 
 | |
| # === Clean build and docs ===
 | |
| clean:
 | |
| 	@echo === Nettoyage des fichiers compiles ===
 | |
| ifeq ($(OS),Windows_NT)
 | |
| 	$(RM) $(BUILD_DIR)\$(SRC_BUILD)\*.class 2>nul || true
 | |
| 	for /d %%i in ($(DOC_DIR)\*) do rmdir /S /Q "%%i" 2>nul || true
 | |
| 	$(RM) $(DOC_DIR)\* 2>nul || true
 | |
| else
 | |
| 	$(RM) $(BUILD_DIR)/fr/iutfbleau/papillon/*.class
 | |
| 	find $(DOC_DIR) -mindepth 1 -delete 2>/dev/null || true
 | |
| endif
 | |
| 	@echo Nettoyage termine
 |