|
| 1 | +# DeathByCaptcha Unified Java SDK Makefile |
| 2 | +# This Makefile provides an alternative to Maven for building the project |
| 3 | +# For Maven users: use 'mvn clean install' instead |
| 4 | + |
| 5 | +JAVAC = javac |
| 6 | +JAR = jar |
| 7 | +JAVADOC = javadoc |
| 8 | + |
| 9 | +NAME = DeathByCaptcha |
| 10 | +SRC_DIR = src/main/java |
| 11 | +BUILD_DIR = target/classes |
| 12 | +JAR_DIR = target |
| 13 | +DOC_DIR = target/docs |
| 14 | + |
| 15 | +OPT_SRC = $(SRC_DIR)/org/*/*.java |
| 16 | +LIB_SRC = $(SRC_DIR)/com/$(NAME)/*.java |
| 17 | +EXAMPLES_SRC = $(SRC_DIR)/examples/Example*.java |
| 18 | + |
| 19 | +all: clean lib jar doc examples |
| 20 | + |
| 21 | +clean: |
| 22 | + find $(SRC_DIR) -type f -name \*.class -delete 2>/dev/null || true |
| 23 | + rm -rf $(BUILD_DIR) $(JAR_DIR) $(DOC_DIR) |
| 24 | + mkdir -p $(BUILD_DIR) $(JAR_DIR) $(DOC_DIR) |
| 25 | + |
| 26 | +.PHONY: lib |
| 27 | +lib: clean |
| 28 | + $(JAVAC) -d $(BUILD_DIR) $(OPT_SRC) $(LIB_SRC) |
| 29 | + |
| 30 | +.PHONY: jar |
| 31 | +jar: lib |
| 32 | + mkdir -p $(JAR_DIR) |
| 33 | + $(JAR) cf $(JAR_DIR)/org.base64.jar -C $(BUILD_DIR) org/base64 |
| 34 | + $(JAR) cf $(JAR_DIR)/org.json.jar -C $(BUILD_DIR) org/json |
| 35 | + $(JAR) cf $(JAR_DIR)/com.DeathByCaptcha.jar -C $(BUILD_DIR) com/DeathByCaptcha |
| 36 | + |
| 37 | +.PHONY: doc |
| 38 | +doc: |
| 39 | + $(JAVADOC) -public -d $(DOC_DIR) $(LIB_SRC) |
| 40 | + |
| 41 | +.PHONY: examples |
| 42 | +examples: lib |
| 43 | + $(JAVAC) -cp $(BUILD_DIR) -d $(BUILD_DIR) $(EXAMPLES_SRC) |
| 44 | + |
| 45 | +.PHONY: package |
| 46 | +package: all |
| 47 | + zip -9rX deathbycaptcha-java-sdk.zip src/ pom.xml Makefile README.md LICENSE .gitignore -x \*/.git/\* \*/target/\* \*/.class |
| 48 | + |
| 49 | +help: |
| 50 | + @echo "DeathByCaptcha Java Unified SDK - Makefile" |
| 51 | + @echo "" |
| 52 | + @echo "Usage: make [target]" |
| 53 | + @echo "" |
| 54 | + @echo "Targets:" |
| 55 | + @echo " all - Build everything (default)" |
| 56 | + @echo " clean - Remove compiled files" |
| 57 | + @echo " lib - Compile core library classes" |
| 58 | + @echo " jar - Create JAR files" |
| 59 | + @echo " doc - Generate Javadoc" |
| 60 | + @echo " examples - Compile example files" |
| 61 | + @echo " package - Create distribution ZIP" |
| 62 | + @echo " help - Show this help message" |
| 63 | + @echo "" |
| 64 | + @echo "Note: For Maven users, use 'mvn clean install' instead" |
| 65 | + |
0 commit comments