CC := @CC@ MINGW32_64_CC := x86_64-w64-mingw32-gcc MINGW32_32_CC := i686-w64-mingw32-gcc CFLAGS := @CFLAGS@ SRC_DIR := @SRC_DIR@ OBJ_DIR := @OBJ_DIR@ INC_DIR := @INC_DIR@ BIN_DIR := @BIN_DIR@ PREFIX := @prefix@ LINK_NIX := $(OBJ_DIR)/main.o $(OBJ_DIR)/le.o LINK_WIN64 := $(OBJ_DIR)/main-mingw32-64.o $(OBJ_DIR)/le-mingw32-64.o LINK_WIN32 := $(OBJ_DIR)/main-mingw32-32.o $(OBJ_DIR)/le-mingw32-32.o default: help all: app static-app all-windows64: windows64-app static-windows64-app all-windows32: windows32-app static-windows32-app ### Binary app: $(BIN_DIR)/le static-app: $(BIN_DIR)/le-static windows64-app: $(BIN_DIR)/le64.exe static-windows64-app: $(BIN_DIR)/le64-static.exe windows32-app: $(BIN_DIR)/le32.exe static-windows32-app: $(BIN_DIR)/le32-static.exe $(BIN_DIR)/le: $(LINK_NIX) $(CC) $(CFLAGS) -o $@ $(LINK_NIX) $(BIN_DIR)/le-static: $(LINK_NIX) $(CC) $(CFLAGS) -static -o $@ $(LINK_NIX) $(BIN_DIR)/le64.exe: $(LINK_WIN64) $(MINGW32_64_CC) $(CFLAGS) -o $@ $(LINK_WIN64) $(BIN_DIR)/le64-static.exe: $(LINK_WIN64) $(MINGW32_64_CC) $(CFLAGS) -static -o $@ $(LINK_WIN64) $(BIN_DIR)/le32.exe: $(LINK_WIN32) $(MINGW32_32_CC) $(CFLAGS) -B i386 -o $@ $(LINK_WIN32) $(BIN_DIR)/le32-static.exe: $(LINK_WIN32) $(MINGW32_32_CC) $(CFLAGS) -B i386 -static -o $@ $(LINK_WIN32) ### ### Objects $(OBJ_DIR)/main.o: $(SRC_DIR)/main.c $(INC_DIR)/language.h $(CC) $(CFLAGS) -c -o $@ $(SRC_DIR)/main.c $(OBJ_DIR)/le.o: $(SRC_DIR)/le.c $(INC_DIR)/le.h $(INC_DIR)/language.h $(CC) $(CFLAGS) -c -o $@ $(SRC_DIR)/le.c $(OBJ_DIR)/main-mingw32-64.o: $(SRC_DIR)/main.c $(INC_DIR)/language.h $(MINGW32_64_CC) $(CFLAGS) -c -o $@ $(SRC_DIR)/main.c $(OBJ_DIR)/le-mingw32-64.o: $(SRC_DIR)/le.c $(INC_DIR)/le.h $(INC_DIR)/language.h $(MINGW32_64_CC) $(CFLAGS) -c -o $@ $(SRC_DIR)/le.c $(OBJ_DIR)/main-mingw32-32.o: $(SRC_DIR)/main.c $(INC_DIR)/language.h $(MINGW32_32_CC) $(CFLAGS) -B i386 -c -o $@ $(SRC_DIR)/main.c $(OBJ_DIR)/le-mingw32-32.o: $(SRC_DIR)/le.c $(INC_DIR)/le.h $(INC_DIR)/language.h $(MINGW32_32_CC) $(CFLAGS) -B i386 -c -o $@ $(SRC_DIR)/le.c ### ### Clean clean: rm -rf $(OBJ_DIR)/* rm -rf $(BIN_DIR)/* ### root: @if [ "`id -u`" != "0" ]; then \ echo "This target must be run as root.";\ exit 1;\ fi ### Install install: root all mkdir -p $(PREFIX)/share/man/man1 mkdir -p $(PREFIX)/share/man/ja/man1 cp $(BIN_DIR)/le $(PREFIX)/bin/ chown root:wheel $(PREFIX)/bin/le chmod 555 $(PREFIX)/bin/le cp le.1 $(PREFIX)/share/man/man1/ cp le.jp.1 $(PREFIX)/share/man/ja/man1/le.1 chown root:wheel $(PREFIX)/share/man/man1/le.1 chown root:wheel $(PREFIX)/share/man/ja/man1/le.1 chmod 555 $(PREFIX)/share/man/man1/le.1 ### help: @echo "Avaliable targets:" @echo "all | Compile everything. (for Unix-like)" @echo "all-windows64 | Compile everything. (for 64-bit Windows)" @echo "all-windows32 | Compile everything. (for 32-bit Windows)" @echo "core | Compile core." @echo "install | Install etcpd to your system." @echo "help | Show this help menu." @echo "clean | Remove all files generates by $(MAKE)."