-
-
Notifications
You must be signed in to change notification settings - Fork 43
/
Copy pathcosmo.mk
27 lines (22 loc) · 793 Bytes
/
cosmo.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
CC_cosmo=cosmocc
BIN_cosmo=c-ray.com
OBJDIR_cosmo=bin/obj_cosmo
OBJS_LIB_cosmo=$(SRCS_LIB:%.c=$(OBJDIR_cosmo)/%.o)
$(OBJS_LIB_cosmo): CFLAGS += -I./src/lib/
OBJS_DRIVER_cosmo=$(SRCS_DRIVER:%.c=$(OBJDIR_cosmo)/%.o)
$(OBJS_DRIVER_cosmo): CFLAGS += -I./src/driver/
OBJS_COMMON_cosmo=$(SRCS_COMMON:%.c=$(OBJDIR_cosmo)/%.o)
$(OBJS_COMMON_cosmo): CFLAGS += -I./src/common/
OBJS_cosmo := $(OBJS_LIB_cosmo) $(OBJS_DRIVER_cosmo) $(OBJS_COMMON_cosmo)
cosmo: $(BINDIR)/$(BIN_cosmo)
$(OBJDIR_cosmo)/%.o: %.c $(OBJDIR_cosmo)
@mkdir -p '$(@D)'
@echo "cosmocc $<"
@$(CC_cosmo) $(CFLAGS) -c $< -o $@
$(OBJDIR_cosmo):
mkdir -p $@
$(BINDIR)/$(BIN_cosmo): $(OBJS_cosmo) $(OBJDIR_cosmo)
@echo "LD $@"
@$(CC_cosmo) $(LDFLAGS) $(OBJS_cosmo) -o $@ $(LDLIBS)
clean_cosmo:
rm -rf bin/c-ray.* bin/obj_cosmo