Compare commits

...

3 commits

2 changed files with 18 additions and 14 deletions

5
.zed/settings.json Normal file
View file

@ -0,0 +1,5 @@
{
"file_types": {
"C++": ["cxxm"]
}
}

View file

@ -1,4 +1,3 @@
.RECIPEPREFIX = >
.DEFAULT_GOAL = build/main.out
CXX = clang++
CXXFLAGS += -std=c++26 -Wno-experimental-header-units -Wno-unused-command-line-argument
@ -10,31 +9,31 @@ object_build = $(filter-out %.pcm,$^) $(call build_module_path,$(filter %.pcm,$^
autodir = @mkdir -p $(@D)
build/main.out: build/main.o build/builder.o
> $(call autodir)
> $(CXX) $(LDFLAGS) $^ -o $@
$(call autodir)
$(CXX) $(LDFLAGS) $^ -o $@
build/main.o:: main.cxx build/system/print.pcm build/user/builder.pcm
build/builder.o:: builder.cxxm build/system/type_traits.pcm
build/user/builder.pcm:: build/system/type_traits.pcm
build/%.o::
> $(call autodir)
> $(CXX) $(CXXFLAGS) -c $(call object_build)
> @mv $(patsubst build/%,%,$@) $@
$(call autodir)
$(CXX) $(CXXFLAGS) -c $(call object_build)
@mv $(patsubst build/%,%,$@) $@
build/user/%.pcm:: %.cxxm
> $(call autodir)
> $(CXX) $(CXXFLAGS) --precompile -o $@ $(call object_build)
$(call autodir)
$(CXX) $(CXXFLAGS) --precompile -o $@ $(call object_build)
build/system/%.pcm:
> $(call autodir)
> $(CXX) $(CXXFLAGS) -xc++-system-header --precompile $(patsubst build/system/%.pcm,%,$@) -o $@ $(SYSTEMHEADER_FLAGS)
$(call autodir)
$(CXX) $(CXXFLAGS) -xc++-system-header --precompile $(patsubst build/system/%.pcm,%,$@) -o $@ $(SYSTEMHEADER_FLAGS)
.PHONY: clean run
.PHONY: clean run bear
clean:
> @-rm -rf ./build
@-rm -rf ./build
bear: clean
> bear --append -- $(MAKE)
bear --append -- $(MAKE)
run: $(.DEFAULT_GOAL)
> @./$(.DEFAULT_GOAL)
@./$(.DEFAULT_GOAL)