You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
testmodbus-server/Makefile

115 lines
3.0 KiB

.SILENT: help
VERSION = 1.0.0
APP = testmodbus-server
-include Makefile.rules
OBJECTS = gui.oo main.oo mbsconfig.oo modbus.oo guimodbusdata.oo guivalues.oo json.oo tcp.oo
DISTNAME=testmodbus-server-$(VERSION)
ifeq ($(TARGET),)
noconfig: help
endif
all: Makefile.rules $(TARGET)
help:
echo "set up configuration"
echo " make configwindows to generate the windows build"
echo " make configcross to generate the windows cross build"
echo " make configlinux to generate the linix build"
echo " make buildwindows to generate the build for windows (uses cross compiler)"
configlinux: clean
cp -f Makefile.rules.linux Makefile.rules
make config
configwindows: clean
cp -f Makefile.rules.windows Makefile.rules
make config
configcross: clean
cp -f Makefile.rules.crosswindows Makefile.rules
make config
config: Makefile.rules
echo "#ifndef _CONFIG_H_" > config.h
echo "#define _CONFIG_H_" >> config.h
echo "" >> config.h
echo "#define VERSION \"$(VERSION)\"" >> config.h
echo "" >> config.h
echo "#endif" >> config.h
$(TARGET): $(OBJECTS)
$(CPP) -o $(TARGET) $(OBJECTS) $(LDFLAGS) $(LIBS)
.SUFFIXES:
.SUFFIXES: .c .cc .C .cpp .oo
.cc.oo : $(INCLUDES)
$(CPP) -o $@ -c $(CPPFLAGS) $<
clean:
rm -f *.o *.oo *.c~ *.h~ *.cc~ *.ui~ $(APP) Makefile~
rm -rf *.dll
rm -rf *.exe
rm -rf Makefile.rules
rm -rf test-fc16
rm -rf test-fc15
dist: clean
rm -rf $(DISTNAME)
mkdir $(DISTNAME)
cp Makefile* $(DISTNAME)
cp README.md $(DISTNAME)
cp LICENSE $(DISTNAME)
cp Changelog $(DISTNAME)
cp *.ui $(DISTNAME)
cp -rf *.h $(DISTNAME)
cp -rf *.cc $(DISTNAME)
tar cvzf $(DISTNAME).tgz $(DISTNAME)
rm -rf $(DISTNAME)
dep:
$(CXX) -MM `ls *.cc` $(CXXFLAGS) > $(DEPENDFILE)
test-fc16: test-fc16.cc
$(CPP) -o test-fc16 test-fc16.cc $(LDFLAGS) -I/usr/include -I/usr/local/include -L/usr/local/lib -L/usr/lib
test-fc15: test-fc15.cc
$(CPP) -o test-fc15 test-fc15.cc $(LDFLAGS) -I/usr/include -I/usr/local/include -L/usr/local/lib -L/usr/lib
copydll: $(TARGET)
echo "delete all librarys"
rm -rf *.dll
echo "copy linked dll first level"
cp -vf `ldd testmodbus-server.exe | grep .dll | grep /mingw64/bin | cut -d' ' -f3 ` ./
echo "copy network dll"
cp /usr/lib/*UDPTCPNetwork.dll ./
echo "copy linked dll second level"
cp -vf `ldd testmodbus-server.exe | grep .dll | grep /mingw64/bin | cut -d' ' -f3 ` ./
buildwindows:
rm -rf TestModbus-Server-$(VERSION)
mkdir TestModbus-Server-$(VERSION)
make clean
make configcross
make $(TARGET)
cp testmodbus-server.exe TestModbus-Server-$(VERSION)/
cp testmodbus-server.ui TestModbus-Server-$(VERSION)/
cp testmodbus-server.png TestModbus-Server-$(VERSION)/
cp README.md TestModbus-Server-$(VERSION)/
cp Changelog TestModbus-Server-$(VERSION)/
cp LICENSE TestModbus-Server-$(VERSION)/
tar xvzf $(CROSSENV)/files/winbuild-dll.tgz -C TestModbus-Server-$(VERSION)/
tar xvzf $(CROSSENV)/files/winbuild-share.tgz -C TestModbus-Server-$(VERSION)/
-include $(DEPENDFILE)
.PHONY: all
.PHONY: count
.PHONY: clean