2024-07-19 03:59:19 -04:00
|
|
|
|
|
|
|
# TODO: Handle C sources and deduplicate.
|
|
|
|
VPATH = $(dir $(CXXSRCS))
|
|
|
|
OBJS = $(addprefix $(OBJDIR)/,$(notdir $(CXXSRCS:.cpp=.o)))
|
|
|
|
|
|
|
|
# Build types
|
|
|
|
ifeq ($(TYPE),dll)
|
|
|
|
BUILD_PRODUCT = $(BINDIR)/$(NAME).dll
|
|
|
|
|
2024-07-18 03:54:12 -04:00
|
|
|
$(BINDIR)/$(NAME).dll: $(BINDIR)/ $(OBJDIR)/ $(OBJS)
|
2024-07-19 03:59:19 -04:00
|
|
|
echo -e "\e[92mLinking DLL $@\e[0m"
|
2024-07-19 07:45:18 -04:00
|
|
|
$(LD) $(BASE_LDFLAGS_SHARED) $(BASE_LDFLAGS) $($(CONFIG)_LDFLAGS) $($(CONFIG)_RTLIBS) $(LIBS) $(OBJS) /out:$@
|
2024-07-19 03:59:19 -04:00
|
|
|
else
|
|
|
|
ifeq ($(TYPE),exe)
|
|
|
|
BUILD_PRODUCT = $(BINDIR)/$(NAME).exe
|
|
|
|
|
|
|
|
$(BINDIR)/$(NAME).exe: $(BINDIR)/ $(OBJDIR)/ $(OBJS)
|
|
|
|
echo -e "\e[92mLinking EXE $@\e[0m"
|
2024-07-19 05:10:10 -04:00
|
|
|
$(LD) $(BASE_LDFLAGS) $($(CONFIG)_LDFLAGS) $($(CONFIG)_RTLIBS) $(LIBS) $(OBJS) /out:$@
|
2024-07-19 03:59:19 -04:00
|
|
|
endif
|
|
|
|
endif
|
2024-07-17 21:38:27 -04:00
|
|
|
|
|
|
|
$(OBJDIR)/%.o: %.c
|
|
|
|
echo -e "\e[94mCompiling C source file $< ($@)\e[0m"
|
|
|
|
$(CC) -c $(BASE_CCFLAGS) $($(CONFIG)_CCFLAGS) $< -o $@
|
|
|
|
|
|
|
|
$(OBJDIR)/%.o: %.cpp
|
|
|
|
echo -e "\e[94mCompiling C++ source file $< ($@)\e[0m"
|
|
|
|
$(CC) -c $(BASE_CXXFLAGS) $($(CONFIG)_CXXFLAGS) $< -o $@
|
|
|
|
|
|
|
|
$(OBJDIR)/%.o: %.S
|
|
|
|
echo -e "\e[94mAssembling $< ($@)\e[0m"
|
|
|
|
$(CC) -xassembler-with-cpp -c $(BASE_CCFLAGS) $($(CONFIG)_CCFLAGS) $< -o $@
|
|
|
|
|
|
|
|
$(OBJDIR)/%.o: %.rc
|
|
|
|
echo -e "\e[94mCompiling Windows resource script $<\e[0m"
|
|
|
|
$(WINDRES) -Iinclude $< -o $@
|
2024-07-19 03:59:19 -04:00
|
|
|
|
|
|
|
# dir rules
|
|
|
|
$(BINDIR)/:
|
|
|
|
echo -e "\e[95mMKDIR $@\e[0m"
|
|
|
|
mkdir -p $(BINDIR)
|
|
|
|
|
|
|
|
$(OBJDIR)/:
|
|
|
|
echo -e "\e[95mMKDIR $@\e[0m"
|
|
|
|
mkdir -p $(OBJDIR)
|