dodo/Makefile

57 lines
1.2 KiB
Makefile
Raw Normal View History

2024-09-09 06:05:47 +00:00
.POSIX:
SRC_DIR = src
OBJ_DIR = obj
ALL_OBJS = $(wildcard $(OBJ_DIR)/*.o)
SRC = $(wildcard $(SRC_DIR)/*.c)
2024-09-09 16:58:24 +00:00
OBJ = $(addprefix $(OBJ_DIR)/, $(notdir $(SRC:.c=.o)))
2024-09-09 06:05:47 +00:00
X_STRING_DIR = $(SRC_DIR)/xlibc/x_string
X_STRING_SRC = $(wildcard $(X_STRING_DIR)/src/*.c)
2024-09-09 16:58:24 +00:00
X_STRING_OBJ = $(addprefix $(OBJ_DIR)/, $(notdir $(X_STRING_SRC:.c=.o)))
2024-09-09 06:05:47 +00:00
SQLITE_DIR = $(SRC_DIR)/sqlite3
SQLITE_SRC = $(wildcard $(SQLITE_DIR)/src/*.c)
2024-09-09 16:58:24 +00:00
SQLITE_OBJ = $(addprefix $(OBJ_DIR)/, $(notdir $(SQLITE_SRC:.c=.o)))
SQLITE_DB_SCHEMA = $(SRC_DIR)/dodo.schema
2024-09-09 06:05:47 +00:00
INC_DIRS=$(X_STRING_DIR)/src
HOME_DIR = $$HOME
CONFIG_DIR = /.config/dodo
DB_FILE = $(CONFIG_DIR)/dodo.db
DFLAGS = -DDB_PATH=\"$(DB_FILE)\"
all: dodo
$(OBJ): $(X_STRING_OBJ)
$(CC) -c -o $(OBJ_DIR)/$(@F) -I./$(INC_DIRS)/ $(DFLAGS) $(SRC)
$(X_STRING_OBJ):
$(CC) -c -o $(OBJ_DIR)/$(@F) $(X_STRING_SRC)
$(SQLITE_OBJ):
$(CC) -c -o $(OBJ_DIR)/$(@F) $(SQLITE_SRC)
dodo: $(OBJ) $(X_STRING_OBJ) $(SQLITE_OBJ)
$(CC) -o $@ $(ALL_OBJS)
install:
mkdir -p $(HOME_DIR)$(CONFIG_DIR)
2024-09-09 16:58:24 +00:00
sqlite3 $(HOME_DIR)$(DB_FILE) < $(SQLITE_DB_SCHEMA)
2024-09-09 06:05:47 +00:00
uninstall:
rm -rf $(HOME_DIR)$(CONFIG_DIR)
clean_all:
2024-09-09 16:58:24 +00:00
rm -f dodo $(ALL_OBJS)
2024-09-09 06:05:47 +00:00
clean:
2024-09-09 16:58:24 +00:00
rm -f dodo $(OBJ) $(X_STRING_OBJ)
2024-09-09 06:05:47 +00:00
.PHONY: all clean_all clean install uninstall