Skip to content

Commit 9a6a54c

Browse files
committed
build: Update lib.mk and cosmo.mk to new include structure
Forgot about these. Now they work again.
1 parent 3f7569e commit 9a6a54c

File tree

2 files changed

+39
-21
lines changed

2 files changed

+39
-21
lines changed

cosmo.mk

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
11
CC_cosmo=cosmocc
22
BIN_cosmo=c-ray.com
33
OBJDIR_cosmo=bin/obj_cosmo
4-
OBJS_cosmo=$(patsubst %.c, $(OBJDIR_cosmo)/%.o, $(SRCS))
4+
5+
OBJS_LIB_cosmo=$(SRCS_LIB:%.c=$(OBJDIR_cosmo)/%.o)
6+
$(OBJS_LIB_cosmo): CFLAGS += -I./src/lib/
7+
OBJS_DRIVER_cosmo=$(SRCS_DRIVER:%.c=$(OBJDIR_cosmo)/%.o)
8+
$(OBJS_DRIVER_cosmo): CFLAGS += -I./src/driver/
9+
OBJS_COMMON_cosmo=$(SRCS_COMMON:%.c=$(OBJDIR_cosmo)/%.o)
10+
$(OBJS_COMMON_cosmo): CFLAGS += -I./src/common/
11+
12+
OBJS_cosmo := $(OBJS_LIB_cosmo) $(OBJS_DRIVER_cosmo) $(OBJS_COMMON_cosmo)
513

614
cosmo: $(BINDIR)/$(BIN_cosmo)
715

lib.mk

+30-20
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,29 @@
33

44
LIB=lib/libc-ray.so
55
BIN_lib=lib/c-ray
6-
OBJDIR_lib=lib/obj_lib
7-
OBJDIR_driver=lib/obj_driver
8-
SRCS_lib=$(shell find src/lib src/common -name '*.c') generated/gitsha1.c
9-
OBJS_lib=$(patsubst %.c, $(OBJDIR_lib)/%.o, $(SRCS_lib))
10-
SRCS_driver=$(shell find src/driver src/common -name '*.c')
11-
OBJS_driver=$(patsubst %.c, $(OBJDIR_driver)/%.o, $(SRCS_driver))
12-
SRCS_pylib=$(shell find bindings/python/lib -name '*.py')
6+
OBJDIR_LIB=lib/obj_lib
7+
OBJDIR_DRIVER=lib/obj_driver
8+
OBJDIR_COMMON=lib/obj_common
9+
OBJS_LIB=$(patsubst %.c, $(OBJDIR_LIB)/%.o, $(SRCS_LIB))
10+
OBJS_DRIVER=$(patsubst %.c, $(OBJDIR_DRIVER)/%.o, $(SRCS_DRIVER))
11+
OBJS_COMMON=$(patsubst %.c, $(OBJDIR_COMMON)/%.o, $(SRCS_COMMON))
12+
SRCS_PYLIB=$(shell find bindings/python/lib -name '*.py')
13+
14+
$(OBJS_LIB): CFLAGS += -I./src/lib/
15+
$(OBJS_DRIVER): CFLAGS += -I./src/driver/
16+
$(OBJS_COMMON): CFLAGS += -I./src/common/
1317

1418
lib: $(BIN_lib)
1519

16-
pylib: bindings/python/lib/cray_wrap.so $(SRCS_pylib)
20+
pylib: bindings/python/lib/cray_wrap.so $(SRCS_PYLIB)
1721

1822
BLENDER_VERSION=$(shell blender --version | head -n1 | cut -d ' ' -f 2 | cut -c 1-3)
1923
BLENDER_ROOT=$(HOME)/.config/blender/$(BLENDER_VERSION)
2024

2125
# Only copy .py files, which Blender seems to handle okay.
22-
blsync: $(SRCS_pylib)
26+
blsync: $(SRCS_PYLIB)
2327
mkdir -p $(BLENDER_ROOT)/scripts/addons/c_ray
24-
cp $(SRCS_pylib) $(BLENDER_ROOT)/scripts/addons/c_ray/
28+
cp $(SRCS_PYLIB) $(BLENDER_ROOT)/scripts/addons/c_ray/
2529
cp -r integrations/blender/* $(BLENDER_ROOT)/scripts/addons/c_ray/
2630

2731
# Blender crashes if I swap out the .so, no idea why, so updating the library
@@ -31,32 +35,38 @@ fullblsync: pylib
3135
cp -r bindings/python/lib/* $(BLENDER_ROOT)/scripts/addons/c_ray/
3236
cp -r integrations/blender/* $(BLENDER_ROOT)/scripts/addons/c_ray/
3337

34-
$(OBJDIR_driver)/%.o: %.c $(OBJDIR_driver)
38+
$(OBJDIR_DRIVER)/%.o: %.c $(OBJDIR_DRIVER)
3539
@mkdir -p '$(@D)'
3640
@echo "CC $<"
3741
@$(CC) $(CFLAGS) -c $< -o $@
38-
$(OBJDIR_lib)/%.o: %.c $(OBJDIR_lib)
42+
$(OBJDIR_LIB)/%.o: %.c $(OBJDIR_LIB)
3943
@mkdir -p '$(@D)'
4044
@echo "CC -fPIC $<"
4145
@$(CC) -DCR_BUILDING_LIB $(CFLAGS) -fvisibility=hidden -c -fPIC $< -o $@
42-
$(OBJDIR_lib):
46+
$(OBJDIR_COMMON)/%.o: %.c $(OBJDIR_COMMON)
47+
@mkdir -p '$(@D)'
48+
@echo "CC -fPIC $<"
49+
@$(CC) -DCR_BUILDING_LIB $(CFLAGS) -fvisibility=hidden -c -fPIC $< -o $@
50+
$(OBJDIR_LIB):
51+
mkdir -p $@
52+
$(OBJDIR_DRIVER):
4353
mkdir -p $@
44-
$(OBJDIR_driver):
54+
$(OBJDIR_COMMON):
4555
mkdir -p $@
4656

4757
# FIXME: We're linking LDLIBS to the binary instead of .so because
4858
# transforms.o uses libm and lives under common/ because json_loader.c
4959
# depends on it.
5060

51-
$(LIB): $(OBJS_lib)
61+
$(LIB): $(OBJS_LIB) ${OBJS_COMMON}
5262
@echo "LD -fPIC $@"
53-
@$(CC) $(LDFLAGS) $(OBJS_lib) -shared -o $@
54-
$(BIN_lib): $(LIB) $(OBJS_driver) $(OBJDIR_driver)
63+
@$(CC) $(LDFLAGS) $(OBJS_LIB) $(OBJS_COMMON) -shared -o $@
64+
$(BIN_lib): $(LIB) $(OBJS_DRIVER) $(OBJDIR_DRIVER) $(OBJS_COMMON)
5565
@echo "LD $@"
56-
@$(CC) $(LDFLAGS) $(OBJS_driver) $(LIB) -o $@ $(LDLIBS)
57-
bindings/python/lib/cray_wrap.so: $(OBJS_lib) bindings/python/cray_wrap.c bindings/python/py_types.c
66+
@$(CC) $(LDFLAGS) $(OBJS_DRIVER) $(OBJS_COMMON) $(LIB) -o $@ $(LDLIBS)
67+
bindings/python/lib/cray_wrap.so: $(OBJS_LIB) bindings/python/cray_wrap.c bindings/python/py_types.c
5868
@echo "Building CPython module"
59-
@$(CC) -shared $(CFLAGS) -fPIC `pkg-config --cflags python3` bindings/python/cray_wrap.c bindings/python/py_types.c $(OBJS_lib) -o bindings/python/lib/cray_wrap.so $(LDLIBS)
69+
@$(CC) -shared $(CFLAGS) -fPIC `pkg-config --cflags python3` bindings/python/cray_wrap.c bindings/python/py_types.c $(OBJS_LIB) -o bindings/python/lib/cray_wrap.so $(LDLIBS)
6070

6171
clean_lib:
6272
rm -rf lib/*

0 commit comments

Comments
 (0)