Modified Makefile to deal with deps and other .c's better
This commit is contained in:
parent
b0eb5be2c0
commit
65464112a6
44
Makefile
44
Makefile
@ -1,24 +1,30 @@
|
|||||||
.POSIX:
|
.POSIX:
|
||||||
|
|
||||||
|
# DIRECTORIES
|
||||||
SRC_DIR = src
|
SRC_DIR = src
|
||||||
OBJ_DIR = obj
|
OBJ_DIR = obj
|
||||||
|
|
||||||
ALL_OBJS = $(wildcard $(OBJ_DIR)/*.o)
|
|
||||||
|
|
||||||
SRC = $(wildcard $(SRC_DIR)/*.c)
|
|
||||||
OBJ = $(addprefix $(OBJ_DIR)/, $(notdir $(SRC:.c=.o)))
|
|
||||||
|
|
||||||
|
|
||||||
X_STRING_DIR = $(SRC_DIR)/xlibc/x_string
|
X_STRING_DIR = $(SRC_DIR)/xlibc/x_string
|
||||||
X_STRING_SRC = $(wildcard $(X_STRING_DIR)/src/*.c)
|
|
||||||
X_STRING_OBJ = $(addprefix $(OBJ_DIR)/, $(notdir $(X_STRING_SRC:.c=.o)))
|
|
||||||
|
|
||||||
SQLITE_DIR = $(SRC_DIR)/sqlite3
|
SQLITE_DIR = $(SRC_DIR)/sqlite3
|
||||||
SQLITE_SRC = $(wildcard $(SQLITE_DIR)/src/*.c)
|
|
||||||
SQLITE_OBJ = $(addprefix $(OBJ_DIR)/, $(notdir $(SQLITE_SRC:.c=.o)))
|
|
||||||
SQLITE_DB_SCHEMA = $(SRC_DIR)/dodo.schema
|
|
||||||
|
|
||||||
INC_DIRS=$(X_STRING_DIR)/src
|
# Sources
|
||||||
|
SRC = $(wildcard $(SRC_DIR)/*.c)
|
||||||
|
X_STRING_SRC = $(wildcard $(X_STRING_DIR)/src/*.c)
|
||||||
|
SQLITE_SRC = $(wildcard $(SQLITE_DIR)/src/*.c)
|
||||||
|
|
||||||
|
# Headers
|
||||||
|
HEADERS = $(wildcard $(SRC_DIR)/*.h)
|
||||||
|
X_STRING_HEADERS = $(wildcard $(X_STRING_DIR)/src/*.h)
|
||||||
|
SQLITE_HEADERS = $(wildcard $(SQLITE_DIR)/src/*.h)
|
||||||
|
|
||||||
|
# Objects
|
||||||
|
OBJ = $(patsubst $(SRC_DIR)/%.c, $(OBJ_DIR)/%.o, $(SRC))
|
||||||
|
X_STRING_OBJ = $(patsubst $(X_STRING_DIR)/src/%.c, $(OBJ_DIR)/%.o, $(X_STRING_SRC))
|
||||||
|
SQLITE_OBJ = $(patsubst $(SQLITE_DIR)/src/%.c, $(OBJ_DIR)/%.o, $(SQLITE_SRC))
|
||||||
|
ALL_OBJS = $(wildcard $(OBJ_DIR)/*.o)
|
||||||
|
|
||||||
|
|
||||||
|
SQLITE_DB_SCHEMA = $(SRC_DIR)/dodo.schema
|
||||||
|
INC_DIRS=-I./$(X_STRING_DIR)/src/ -I./$(SQLITE_DIR)/src/
|
||||||
|
|
||||||
HOME_DIR = $$HOME
|
HOME_DIR = $$HOME
|
||||||
CONFIG_DIR = /.config/dodo
|
CONFIG_DIR = /.config/dodo
|
||||||
@ -28,16 +34,16 @@ DFLAGS = -DDB_PATH=\"$(DB_FILE)\"
|
|||||||
|
|
||||||
all: dodo
|
all: dodo
|
||||||
|
|
||||||
$(OBJ): $(X_STRING_OBJ)
|
$(OBJ): $(X_STRING_OBJ) $(SQLITE_OBJ) $(HEADERS)
|
||||||
$(CC) -c -o $(OBJ_DIR)/$(@F) -I./$(INC_DIRS)/ $(DFLAGS) $(SRC)
|
$(CC) -c -o $(OBJ_DIR)/$(@F) $(INC_DIRS) $(DFLAGS) $(SRC_DIR)/$(@F:.o=.c)
|
||||||
|
|
||||||
$(X_STRING_OBJ):
|
$(X_STRING_OBJ): $(X_STRING_HEADERS)
|
||||||
$(CC) -c -o $(OBJ_DIR)/$(@F) $(X_STRING_SRC)
|
$(CC) -c -o $(OBJ_DIR)/$(@F) $(X_STRING_SRC)
|
||||||
|
|
||||||
$(SQLITE_OBJ):
|
$(SQLITE_OBJ): $(SQLITE_HEADERS)
|
||||||
$(CC) -c -o $(OBJ_DIR)/$(@F) $(SQLITE_SRC)
|
$(CC) -c -o $(OBJ_DIR)/$(@F) $(SQLITE_SRC)
|
||||||
|
|
||||||
dodo: $(OBJ) $(X_STRING_OBJ) $(SQLITE_OBJ)
|
dodo: $(OBJ)
|
||||||
$(CC) -o $@ $(ALL_OBJS)
|
$(CC) -o $@ $(ALL_OBJS)
|
||||||
|
|
||||||
install:
|
install:
|
||||||
|
Loading…
Reference in New Issue
Block a user