mirror of
https://github.com/UOX3DevTeam/UOX3
synced 2026-08-13 12:27:04 -04:00
59 lines
1.2 KiB
Makefile
59 lines
1.2 KiB
Makefile
BASE := ..
|
|
SPIDER := $(BASE)/spidermonkey
|
|
ZLIB := $(BASE)/zlib
|
|
PLATFORM := $(shell uname)
|
|
|
|
ifeq ($(PLATFORM),FreeBSD)
|
|
CXX := clang++
|
|
else
|
|
CXX := g++
|
|
GCCVER8 := $(shell expr `gcc -dumpversion | cut -f1 -d.` \<= 8)
|
|
endif
|
|
|
|
CXXFLAGS := -std=c++17 -O2 -pthread -Wno-shift-negative-value -Wall -Wextra -Wno-attributes
|
|
LDFLAGS := -L$(SPIDER) -ljs32 -L$(ZLIB) -lz
|
|
TARGET := uox3
|
|
INCLUDE := -I$(SPIDER) -I. -I$(ZLIB)
|
|
|
|
DEPDIR := ./.deps
|
|
DEPFLAGS = -MT $@ -MMD -MP -MF $(DEPDIR)/$*.d
|
|
POSTCOMPILE = mv -f $(DEPDIR)/$*.Td $(DEPDIR)/$*.d && touch $@
|
|
|
|
BUILD := ./build
|
|
SRC := $(wildcard *.cpp)
|
|
OBJECTS := $(SRC:%.cpp=$(BUILD)/%.o)
|
|
|
|
ifeq "$(GCCVER8)" "1"
|
|
LDFLAGS += -lstdc++fs
|
|
endif
|
|
|
|
#COMPILE := $(CXX) $(DEPFLAGS) $(CXXFLAGS) $(INCLUDE) -c
|
|
|
|
all: build $(TARGET)
|
|
|
|
$(BUILD)/%.o: %.cpp
|
|
$(BUILD)/%.o: %.cpp $(DEPDIR)/%.d | $(DEPDIR)
|
|
@mkdir -p $(@D)
|
|
$(CXX) $(DEPFLAGS) $(CXXFLAGS) $(INCLUDE) -c $< -o $@
|
|
|
|
$(DEPDIR): ; @mkdir -p $@
|
|
|
|
DEPFILES := $(SRC:%.cpp=$(DEPDIR)/%.d)
|
|
$(DEPFILES):
|
|
|
|
include $(wildcard $(DEPFILES))
|
|
|
|
$(TARGET): $(OBJECTS)
|
|
$(CXX) $(CXXFLAGS) -o $(TARGET) $^ $(LDFLAGS)
|
|
|
|
.PHONY: all build clean
|
|
|
|
build:
|
|
@mkdir -p $(BUILD)
|
|
|
|
|
|
.PHONY clean:
|
|
-@rm -rf $(BUILD)
|
|
-@rm -rf $(DEPDIR)
|
|
-@rm $(TARGET)
|
|
|