84 lines
1.6 KiB
Makefile
84 lines
1.6 KiB
Makefile
sourcefiles:=$(shell find . -name "*.cpp")
|
|
objfiles:=$(patsubst %.cpp,%.o,$(sourcefiles))
|
|
GLOBAL_WORKING_DIR := $(shell pwd)/../../..
|
|
|
|
|
|
WINIX_NEEDED_MACROS = -DPT_HAS_MORM_LIBRARY \
|
|
-DEZC_HAS_MORM_LIBRARY \
|
|
-DMORM_HAS_EZC_LIBRARY
|
|
|
|
|
|
ifndef CXX
|
|
CXX = g++
|
|
endif
|
|
|
|
ifndef CXXFLAGS
|
|
# /usr/include/postgresql is in Linux distros (Alpine)
|
|
CXXFLAGS = -Wall -pedantic -O2 -std=c++20 \
|
|
-I/usr/local/include \
|
|
-I/usr/include/postgresql \
|
|
-I$(GLOBAL_WORKING_DIR)/winix/winixcli \
|
|
-I$(GLOBAL_WORKING_DIR)/pikotools/src \
|
|
-I$(GLOBAL_WORKING_DIR)/morm/src \
|
|
-I$(GLOBAL_WORKING_DIR)/ezc/src \
|
|
-I$(GLOBAL_WORKING_DIR)/tito/src \
|
|
$(WINIX_NEEDED_MACROS)
|
|
endif
|
|
|
|
|
|
ifndef LDFLAGS
|
|
LDFLAGS = -L/usr/local/lib -s
|
|
endif
|
|
|
|
|
|
export CXX
|
|
export CXXFLAGS
|
|
export LDFLAGS
|
|
export WINIX_NEEDED_MACROS
|
|
|
|
|
|
|
|
progname = winix
|
|
|
|
|
|
all: $(progname)
|
|
|
|
|
|
$(progname): $(objfiles) pikotools morm ezc
|
|
$(CXX) -o $(progname) $(CXXFLAGS) $(LDFLAGS) $(objfiles) $(GLOBAL_WORKING_DIR)/ezc/src/ezc.a $(GLOBAL_WORKING_DIR)/morm/src/morm.a $(GLOBAL_WORKING_DIR)/pikotools/src/pikotools.a
|
|
|
|
|
|
%.o: %.cpp
|
|
$(CXX) -c $(CXXFLAGS) -o $@ $<
|
|
|
|
|
|
.PHONY: pikotools
|
|
.PHONY: morm
|
|
.PHONY: ezc
|
|
|
|
|
|
pikotools:
|
|
$(MAKE) -C ../../../pikotools
|
|
|
|
morm:
|
|
$(MAKE) -C ../../../morm/src
|
|
|
|
ezc:
|
|
$(MAKE) -C ../../../ezc/src
|
|
|
|
|
|
clean:
|
|
rm -f $(objfiles)
|
|
rm -f $(progname)
|
|
$(MAKE) -C ../../../pikotools clean
|
|
$(MAKE) -C ../../../morm/src clean
|
|
$(MAKE) -C ../../../ezc/src clean
|
|
|
|
|
|
depend:
|
|
makedepend -Y. -I../../../pikotools/src -I../../../morm/src -I../../../ezc/src -I../../../tito/src $(WINIX_NEEDED_MACROS) -f- $(sourcefiles) > Makefile.dep
|
|
|
|
|
|
-include Makefile.dep
|
|
|