SKYNET_ROOT ?= ../../skynet include $(SKYNET_ROOT)/platform.mk LUALIB ?= $(SKYNET_ROOT)/3rd/lua/ LUAINC ?= $(SKYNET_ROOT)/3rd/lua/ GLM_INC = -I ../../3rd/glm ODIR = o OUTPUT= ../../luaclib/ PLAT ?= none ifeq ($(PLAT), macosx) CFLAGS = -g -O2 -dynamiclib -Wl,-undefined,dynamic_lookup -std=gnu99 else ifeq ($(PLAT), linux) CFLAGS = -g -O2 -shared -fPIC -std=gnu99 endif endif all : $(OUTPUT)math3d.so $(ODIR)/linalg.o : linalg.c | $(ODIR) $(CC) -c $(CFLAGS) -o $@ $^ $(LUAINC) $(ODIR)/math3d.o : math3d.c | $(ODIR) $(CC) -c $(CFLAGS) -o $@ $^ $(LUAINC) $(ODIR)/mathfunc.o : mathfunc.cpp | $(ODIR) $(CXX) -c $(CFLAGS) -Wno-char-subscripts -o $@ $^ $(GLM_INC) $(ODIR)/mathadapter.o : mathadapter.c | $(ODIR) $(CC) -c $(CFLAGS) -o $@ $^ $(LUAINC) $(ODIR)/testadapter.o : testadapter.c | $(ODIR) $(CC) -c $(CFLAGS) -o $@ $^ $(LUAINC) $(OUTPUT)math3d.so : $(ODIR)/linalg.o $(ODIR)/math3d.o $(ODIR)/mathfunc.o $(ODIR)/mathadapter.o $(ODIR)/testadapter.o $(CXX) --shared $(CFLAGS) -o $@ $^ -lstdc++ $(LUALIB) $(ODIR) : mkdir -p $@ clean : rm -rf $(ODIR) *.so