diff options
Diffstat (limited to '')
| -rw-r--r-- | project/Makefile | 1094 | ||||
| -rw-r--r-- | project/Makefile.user | 1 |
2 files changed, 1095 insertions, 0 deletions
diff --git a/project/Makefile b/project/Makefile new file mode 100644 index 0000000..d36fb5e --- /dev/null +++ b/project/Makefile @@ -0,0 +1,1094 @@ + +##################################################################### +## _______ _______ _______ ## +## | ___ |____ | ___ | ## +## | | |_| / /| | |_| ## +## | |_____ / / | |_____ ## +## |_____ | / / |_____ | ## +## _ | | / / _ | | ## +## | |___| |/ /____| |___| | ## +## |_______|_______|_______| ## +## ## +## Wiimms SZS Tools ## +## https://szs.wiimm.de/ ## +## ## +##################################################################### +## ## +## This file is part of the SZS project. ## +## Visit https://szs.wiimm.de/ for project details and sources. ## +## ## +## Copyright (c) 2011-2020 by Dirk Clemens <wiimm@wiimm.de> ## +## ## +##################################################################### + +#---------------------------------------------------------------- +# make manual: http://www.gnu.org/software/make/manual/make.html +#---------------------------------------------------------------- + +#------------------------------------------------------------------------------- +# global settings + +MYMAKE := $(lastword $(MAKEFILE_LIST)) + +#SHELL = /bin/bash +SHELL = /usr/bin/env bash + +AUTHOR = Dirk Clemens +TOOLSET_SHORT = SZS +TOOLSET_LONG = Wiimms SZS Toolset + +WSZST_SHORT = wszst +WSZST_LONG = Wiimms SZS Tool +WBMGT_SHORT = wbmgt +WBMGT_LONG = Wiimms BMG Tool +WCTCT_SHORT = wctct +WCTCT_LONG = Wiimms CT-CODE Tool +WIMGT_SHORT = wimgt +WIMGT_LONG = Wiimms Image Tool +WKCLT_SHORT = wkclt +WKCLT_LONG = Wiimms KCL Tool +WKMPT_SHORT = wkmpt +WKMPT_LONG = Wiimms KMP Tool +WLECT_SHORT = wlect +WLECT_LONG = Wiimms LE-CODE Tool +WMDLT_SHORT = wmdlt +WMDLT_LONG = Wiimms MDL Tool +WPATT_SHORT = wpatt +WPATT_LONG = Wiimms PAT Tool +WSTRT_SHORT = wstrt +WSTRT_LONG = Wiimms StaticR Tool + +VERSION_NUM = 2.18a +BETA_VERSION = 0 + # 0:off -1:"beta" >0:"beta#" + +URI_HOME = https://szs.wiimm.de/ +URI_DOWNLOAD = https://szs.wiimm.de/download +URI_FILE = https://szs.wiimm.de/file +URI_SOURCE = https://download.wiimm.de/source/wiimms-szs-tools/ + +ifeq ($(BETA_VERSION),0) + URI_REPOS = http://opensvn.wiimm.de/wii/trunk/wiimms-szs-tools/ + URI_VIEWVC = https://szs.wiimm.de/r/viewvc +else + URI_REPOS = http://opensvn.wiimm.de/wii/branches/public/wiimms-szs-tools/ + URI_VIEWVC = https://szs.wiimm.de/r/viewvc-beta +endif + +URI_DOWNLOAD_I386 = $(URI_DOWNLOAD)/$(DISTRIB_I386) +URI_DOWNLOAD_X86_64 = $(URI_DOWNLOAD)/$(DISTRIB_X86_64) +URI_DOWNLOAD_MAC = $(URI_DOWNLOAD)/$(DISTRIB_MAC) +URI_DOWNLOAD_CYGWIN = $(URI_DOWNLOAD)/$(DISTRIB_CYGWIN) + +DOWNLOAD_DIR = /n/www/szs.wiimm.de/download +EXPORT_DIR = /cygdrive/n/wit/wiimms-szs-tools/bin + +# format for logging messages, $1=job, $2=object, $3=more info +LOGFORMAT := \33[36;1m*** %7s %-17s %s\33[0m\n +LOGFORMAT_CC := \33[33;1m*** %7s %-17s %s\33[0m\n +LOGFORMAT_TOOL := \33[35;1m*** %7s %-17s %s\33[0m\n +LOGFORMAT_INST := \33[32;1m*** %7s %-17s %s\33[0m\n + +#------------------------------------------------------------------------------- +# version+beta settings + +ifeq ($(BETA_VERSION),0) + BETA_SUFFIX := +else ifeq ($(BETA_VERSION),-1) + BETA_SUFFIX := .beta +else + BETA_SUFFIX := .beta$(BETA_VERSION) +endif + +VERSION := $(VERSION_NUM)$(BETA_SUFFIX) +VERSION_INT := $(shell sed 's/\.//g; s/[^0-9]/ /g; s/ .*//' <<< "$(VERSION_NUM)" ) + +DUMMY := $(shell $(SHELL) ./setup.sh $(VERSION) $(VERSION_NUM) $(VERSION_INT) ) +include Makefile.setup + +#------------------------------------------------------------------------------ +# include source library definitions + +DCLIB_MYSQL := 0 +include ./dclib/Makefile.inc + +#------------------------------------------------------------------------------- +# compiler settings + +PRE ?= +CC = $(PRE)gcc +CPP = $(PRE)g++ +STRIP = $(PRE)strip + +#------------------------------------------------------------------------------- +# files + +DIR_LIST = + +RM_FILES = *.{a,o,d,tmp,bak,exe} edit-list/*.log +RM_FILES += */*.{tmp,bak} */*/*.{tmp,bak} */*/*/*.{tmp,bak} +RM_FILES2 = templates.sed + +MODE_FILE = ./_mode.flag +MODE = $(shell test -s $(MODE_FILE) && cat $(MODE_FILE)) +RM_FILES += $(MODE_FILE) + +UI = ./src/ui + +#------------------------------------------------------------------------------- +# base flags + +DEFINES1 += -DLARGE_FILES -D_FILE_OFFSET_BITS=64 +DEFINES1 += -DWSZST # compile szs tools (switch for shared sources) +DEFINES1 += -DDEBUG_ASSERT # enable ASSERTions in release version too +DEFINES1 += -DEXTENDED_ERRORS=1 # enable extended error messages (function,line,file) +DEFINES1 += -DUIOPT_INDEX_SIZE=300 # define max number of options (default 0x100) + +CFLAGS += -fomit-frame-pointer -fno-strict-aliasing -funroll-loops +CFLAGS += -Wall -Wno-parentheses -Wno-unused-function +CFLAGS += -Wno-deprecated-declarations +CFLAGS += -O3 -Isrc -I$(UI) -I. + +DEPFLAGS += -MMD + +#--- system depedent flags & libs + +ifeq ($(SYSTEM),mac) + CFLAGS += -I/usr/local/include +endif + +ifeq ($(SYSTEM_LINUX),1) + CFLAGS += -ffunction-sections -fdata-sections + LDFLAGS += -Xlinker --gc-sections + #LDFLAGS += -Xlinker --print-gc-sections + LIBS += -ltinfo + LDFLAGS += -static-libgcc +endif + +ifeq ($(SYSTEM),cygwin) + LDFLAGS += -static-libgcc +endif + +#ifeq ($(HAVE_PCRE),1) +#ifeq ($(STATIC),1) +# LIBS += $(PCRE_A) +#else +# LIBS += -lpcre +#endif +# DEFINES1 += -DHAVE_PCRE=1 +#endif + +#------------------------------------------------------------------------------- +# tools + +MAIN_TOOLS := wszst wbmgt wctct wimgt wkclt wkmpt wlect wmdlt wpatt wstrt +TEST_TOOLS := wtest +EXTRA_TOOLS := +HELPER_TOOLS := gen-ui + +WRAPPER_TOOLS := $(filter-out wszst, $(MAIN_TOOLS)) + +ALL_TOOLS := $(sort $(MAIN_TOOLS) $(TEST_TOOLS)) +ALL_TOOLS_X := $(sort $(MAIN_TOOLS) $(TEST_TOOLS) $(EXTRA_TOOLS)) + +RM_FILES += $(ALL_TOOLS_X) $(HELPER_TOOLS) gen-ui + +#------------------------------------------------------------------------------- +# tool dependent options and objects + +ifeq ($(STATIC),1) + OPT_STATIC := -static -DDCLIB_STATIC=1 +else + OPT_STATIC := +endif + +#--------------- + +TOPT_wszst := $(OPT_STATIC) +TOPT_wbmgt := $(OPT_STATIC) +TOPT_wctct := $(OPT_STATIC) +TOPT_wimgt := $(OPT_STATIC) +TOPT_wkclt := $(OPT_STATIC) +TOPT_wkmpt := $(OPT_STATIC) +TOPT_wlect := $(OPT_STATIC) +TOPT_wmdlt := $(OPT_STATIC) +TOPT_wpatt := $(OPT_STATIC) +TOPT_wstrt := $(OPT_STATIC) + +#--------------- + +WRAPPER_OBJ = $(patsubst %,wrapper-%.o,$(WRAPPER_TOOLS)) + +XOBJ_IMAGE = lib-image1.o lib-image2.o lib-image3.o +XOBJ_PARSER = lib-parser.o lib-parser-func.o +XOBJ_OBJECT = lib-object.o db-object.o db-file.o lib-bmg.o +XOBJ_KCL = lib-kcl.o db-kcl.o +XOBJ_KMP = lib-kmp.o lib-kmp-text.o lib-kmp-pflags.o lib-kmp-diff.o lib-kmp-draw.o +XOBJ_COMMON = lib-common.o lib-geohit.o lib-itemslot.o lib-minigame.o lib-objflow.o + +TOBJ_gen-ui = $(XOBJ_OBJECT) + +TOBJ_wszst = analyze.o lib-szs-create.o lib-xbmg.o \ + lib-mdl.o lib-pat.o lib-transform.o \ + lib-ctcode.o lib-lecode.o \ + lib-staticr.o db-dol.o db-ctcode.o getopt.o \ + $(XOBJ_KMP) $(XOBJ_COMMON) $(XOBJ_KCL) lib-kcl-image.o lib-rkg.o \ + $(XOBJ_OBJECT) $(XOBJ_PARSER) $(XOBJ_IMAGE) \ + $(WRAPPER_OBJ) +TOBJ_wbmgt = lib-xbmg.o $(XOBJ_OBJECT) +TOBJ_wctct = lib-ctcode.o lib-lecode.o lib-xbmg.o db-ctcode.o \ + $(XOBJ_PARSER) $(XOBJ_IMAGE) $(XOBJ_OBJECT) +TOBJ_wimgt = $(XOBJ_IMAGE) $(XOBJ_OBJECT) +TOBJ_wkclt = lib-transform.o $(XOBJ_KCL) $(XOBJ_PARSER) $(XOBJ_OBJECT) +TOBJ_wkmpt = $(XOBJ_KMP) lib-transform.o \ + $(XOBJ_KCL) lib-kcl-image.o \ + $(XOBJ_IMAGE) $(XOBJ_PARSER) $(XOBJ_OBJECT) +TOBJ_wlect = lib-lecode.o lib-ctcode.o lib-xbmg.o db-ctcode.o \ + $(XOBJ_PARSER) $(XOBJ_IMAGE) $(XOBJ_OBJECT) +TOBJ_wmdlt = lib-mdl.o lib-transform.o $(XOBJ_PARSER) $(XOBJ_OBJECT) +TOBJ_wpatt = lib-pat.o $(XOBJ_PARSER) $(XOBJ_OBJECT) +TOBJ_wstrt = lib-staticr.o db-dol.o db-ctcode.o $(XOBJ_OBJECT) +TOBJ_wtest = $(XOBJ_KMP) $(XOBJ_KCL) $(XOBJ_OBJECT) $(XOBJ_PARSER) $(XOBJ_IMAGE) \ + lib-mdl.o lib-transform.o + +#------------------------------------------------------------------------------- +# sub libs + +# libbz2 +LIBBZ2_SRC = $(shell echo src/libbz2/*.c) +LIBBZ2_OBJ = $(patsubst %.c,%.o,$(LIBBZ2_SRC)) + +ifneq ($(SYSTEM),mac) + BZIP2_FLAGS = -Wno-maybe-uninitialized +endif + +# lib summary +LIB_LIST += libbz2 +LIB_OBJECTS += $(LIBBZ2_OBJ) +RM_FILES += $(foreach l,$(LIB_LIST),src/$(l)/*.{d,o}) + +#------------------------------------------------------------------------------- +# object files + +TOBJ_ALL = $(sort $(TOBJ_wszst) $(TOBJ_wbmgt) $(TOBJ_wctct) \ + $(TOBJ_wimgt) $(TOBJ_wkclt) $(TOBJ_wkmpt) \ + $(TOBJ_wlect) $(TOBJ_wmdlt) $(TOBJ_wpatt) \ + $(TOBJ_wstrt) $(TOBJ_wtest) $(TOBJ_szs) ) +TOBJ_NO_WRAPPER = $(filter-out $(WRAPPER_OBJ), $(TOBJ_ALL) ) + +# objects of tools +MAIN_TOOLS_OBJ = $(patsubst %,%.o,$(MAIN_TOOLS) $(EXTRA_TOOLS)) +OTHER_TOOLS_OBJ = $(patsubst %,%.o,$(TEST_TOOLS) $(HELPER_TOOLS)) + +# dclib +DCLIB_DIR := ./dclib +DIR_LIST += $(DCLIB_DIR) +VPATH += $(DCLIB_DIR) +CFLAGS += -I$(DCLIB_DIR) + +# other objects +SZS_O := lib-std.o lib-file.o lib-numeric.o \ + lib-szs.o lib-checksum.o \ + lib-rarc.o lib-pack.o lib-rkc.o lib-brres.o lib-breff.o \ + file-type.o db-mkw.o lib-mkw.o lib-dol.o \ + sha1dgst.o sha1_one.o lib-bzip2.o \ + $(DCLIB_O) + +# object groups +UI_OBJECTS = $(sort $(MAIN_TOOLS_OBJ)) +C_OBJECTS = $(sort $(OTHER_TOOLS_OBJ) $(SZS_O) $(TOBJ_NO_WRAPPER)) +ASM_OBJECTS = ssl-asm.o + +# all objects + sources +ALL_OBJECTS = $(sort $(SZS_O) $(ASM_OBJECTS) $(LIB_OBJECTS)) +ALL_SOURCES = $(patsubst %.o,%.c,$(UI_OBJECTS) $(C_OBJECTS) \ + $(WRAPPER_OBJ) $(ASM_OBJECTS)) + +#------------------------------------------------------------------------------- +# source files + +UI_FILES = ui.def +UI_FILES += $(patsubst %,ui-%.c,$(MAIN_TOOLS) $(EXTRA_TOOLS)) +UI_FILES += $(patsubst %,ui-%.h,$(MAIN_TOOLS) $(EXTRA_TOOLS)) + +UI_TABS = $(patsubst %,tab-%.inc,$(MAIN_TOOLS) $(EXTRA_TOOLS)) + +SETUP_DIR = ./setup +SETUP_INFO = INSTALL.txt +SETUP_FILES = version.h install.sh cygwin-copy.sh szs.def \ + $(SETUP_INFO) $(CYGWIN_SCRIPTS) +DIR_LIST += $(SETUP_DIR) +RM_FILES2 += $(SETUP_FILES) + +TEXT_DIR = ./text-files +TEXT_FILES = $(shell cd $(TEXT_DIR) && echo *.inc) +DIR_LIST += $(TEXT_DIR) +RM_FILES2 += $(TEXT_FILES) + +#------------------------------------------------------------------------------- +# lib export + +LIBEXPORT = ./_lib-export + +LIBEX_FILES = src/lib-*.[ch] +LIBEX_FILES += src/system.h src/types.h src/debug.h + +#------------------------------------------------------------------------------- + +INSTALL_SCRIPTS = install.sh +RM_FILES += $(INSTALL_SCRIPTS) +TEMPLATES = ./templates +MODULES = $(TEMPLATES)/module +GEN_TEMPLATE = ./gen-template.sh +GEN_TEXT_FILE = ./gen-text-file.sh +DIR_LIST += $(TEMPLATES) $(MODULES) + +VPATH += src src/crypto $(UI) +DIR_LIST += src src/crypto $(UI) + + +#--- external flags & clean + +DEFINES = $(strip $(DEFINES1) $(MODE) $(XDEF)) +CFLAGS += $(XFLAGS) +CFLAGS := $(strip $(CFLAGS)) +LDFLAGS := $(strip $(LDFLAGS)) +LIBS += $(LIBPNG) -lm -lncurses $(XLIBS) + +#------------------------------------------------------------------------------- + +DISTRIB_RM = ./szs-v$(VERSION)-r +DISTRIB_BASE = szs-v$(VERSION)-r$(REVISION_NEXT) +DISTRIB_PATH = ./$(DISTRIB_BASE)-$(SYSTEM) +DISTRIB_I386 = $(DISTRIB_BASE)-i386.tar.gz +DISTRIB_X86_64 = $(DISTRIB_BASE)-x86_64.tar.gz +DISTRIB_MAC = $(DISTRIB_BASE)-mac.tar.gz +DISTRIB_CYGWIN = $(DISTRIB_BASE)-cygwin.zip +DISTRIB_FILES = gpl-2.0.txt $(INSTALL_SCRIPTS) $(SETUP_INFO) + +DOC_FILES = doc/*.txt +IGNORE_DOC_FILES= HISTORY-v*.txt + +SUPPORT_DIR = ./support +SUPPORT_FILES = $(SUPPORT_DIR)/*.txt $(SUPPORT_DIR)/*.xml +DIR_LIST += $(SUPPORT_DIR) + +BIN_FILES = $(MAIN_TOOLS) $(EXTRA_TOOLS) +SHARE_FILES = + +CYGWIN_DIR = /usr/bin +CYGWIN_TOOLS = bash chmod cp env grep mkdir realpath regtool stat tr +CYGWIN_SCRIPTS = windows-install.sh windows-uninstall.sh windows-uninstall.bat \ + sendto-install.sh sendto-uninstall.sh +CYGWIN_INSTALL = $(SETUP_DIR)/windows-install.exe \ + $(SETUP_DIR)/sendto-install.bat \ + $(SETUP_DIR)/sendto-uninstall.bat +CYGWIN_UNINSTALL= $(SETUP_DIR)/windows-uninstall.bat + +WIN_INSTALL_PATH= Wiimm/SZS + +DIR_LIST_BIN = $(SCRIPTS) bin +DIR_LIST += $(DIR_LIST_BIN) +DIR_LIST += share makefiles-local edit-list + +# +############################################################################### +# default rule + +default_rule: all + @echo "HINT: try 'make help'" + +# include this behind the default rule +-include $(ALL_SOURCES:.c=.d) +-include $(TEXT_FILES:.inc=.inc.d) + +# +############################################################################### +# local definitions + +-include makefiles-local/Makefile.local.$(SYSTEM) +-include Makefile.user + +ifeq ($(WIIMM).$(NOWIIMM).$(HAVE_WORK),1..1) + DIR_LIST += ./work +endif + +ifeq ($(WIIMM).$(NOWIIMM).$(HAVE_WORK_SRC),1..1) + DEFINES1 += -DHAVE_WIIMM_EXT=1 + CFLAGS += -I./work/src + VPATH += ./work/src + DIR_LIST += ./work/src + TOBJ_wszst += lib-vehicle.o db-vehicle.o wcommand.o + #LIBS += -lncurses +endif + +# +############################################################################### +# general rules +# -Xlinker -Map=$@.map + +$(ALL_TOOLS_X): %: %.o $(ALL_OBJECTS) $(TOBJ_ALL) Makefile | $(HELPER_TOOLS) $(UI_OBJECTS) + @printf "$(LOGFORMAT_TOOL)" tool "$@" "$(MODE) $(TOPT_$@)" + @$(CC) $(CFLAGS) $(DEFINES) $(LDFLAGS) $@.o \ + $(ALL_OBJECTS) $(TOBJ_$@) $(LIBS) $(TOPT_$@) -o $@ + @if test -f $@.exe; then $(STRIP) $@.exe; else $(STRIP) $@; fi + + @mkdir -p bin/$(SYSTEM) bin/$(SYSTEM)/debug + @if test -s $(MODE_FILE) && grep -Fq -e -DDEBUG $(MODE_FILE); \ + then cp -p $@ bin/$(SYSTEM)/debug/; \ + else cp -p $@ bin/; cp -p $@ bin/$(SYSTEM)/; fi + +#-------------------------- + +$(HELPER_TOOLS): %: %.o $(ALL_OBJECTS) $(TOBJ_NO_WRAPPER) $(UI_TABS) Makefile + @printf "$(LOGFORMAT_TOOL)" helper "$@ $(TOBJ_$@)" "$(MODE)" + @$(CC) $(CFLAGS) $(DEFINES) $(LDFLAGS) $@.o \ + $(ALL_OBJECTS) $(TOBJ_$@) $(LIBS) -o $@ + +#-------------------------- + +$(UI_OBJECTS): %.o: %.c ui-%.c ui-%.h version.h Makefile + @printf "$(LOGFORMAT_CC)" +object "$@" "$(MODE)" + @$(CC) $(CFLAGS) $(DEPFLAGS) $(DEFINES) -c $< -o $@ + +#-------------------------- + +$(C_OBJECTS): %.o: %.c version.h Makefile | $(TEXT_FILES) + @printf "$(LOGFORMAT_CC)" object "$@" "$(MODE)" + @$(CC) $(CFLAGS) $(DEPFLAGS) $(DEFINES) -c $< -o $@ + +#-------------------------- + +$(WRAPPER_OBJ): %.o: %.c version.h Makefile | $(TEXT_FILES) gen-ui + @printf "$(LOGFORMAT_CC)" object "$@" "$(MODE)" + @$(CC) $(CFLAGS) $(DEPFLAGS) $(DEFINES) -c $< -o $@ + +#-------------------------- + +$(ASM_OBJECTS): %.o: %.S Makefile + @printf "$(LOGFORMAT_CC)" asm "$@" "$(MODE)" + @$(CC) $(CFLAGS) $(DEPFLAGS) $(DEFINES) -c $< -o $@ + +#-------------------------- + +$(SETUP_FILES): templates.sed $(SETUP_DIR)/$@ + @printf "$(LOGFORMAT)" create "$@" "" + @chmod 775 $(GEN_TEMPLATE) + @$(GEN_TEMPLATE) $@ + +.PHONY : setup-files +setup-files: templates.sed version.h install.sh + +#-------------------------- + +$(TEXT_FILES): $(GEN_TEXT_FILE) + @printf "$(LOGFORMAT)" text "$@" "" + @chmod 775 $(GEN_TEXT_FILE) + @$(GEN_TEXT_FILE) $(TEXT_DIR) $@ + +#-------------------------- + +$(UI_FILES): gen-ui.c ui.h $(UI_TABS) | gen-ui + @printf "$(LOGFORMAT)" run gen-ui "" + @./gen-ui + +.PHONY : run-ui +run-ui : gen-ui.c ui.h $(UI_TABS) $(UI_FILES) | gen-ui +# @printf "$(LOGFORMAT)" run gen-ui +# @./gen-ui + +# +############################################################################### +# lib specific rules + +$(LIBBZ2_OBJ): %.o: %.c Makefile + @printf "$(LOGFORMAT_CC)" object "$(subst src/libbz2/,,$@)" "$(MODE) [libbz2]" + @$(CC) $(CFLAGS) $(DEPFLAGS) $(BZIP2_FLAGS) $(DEFINES) -c $< -o $@ + +# +############################################################################### +# specific rules in alphabetic order + +.PHONY : all +all: setup-files $(TEXT_FILES) $(HELPER_TOOLS) $(ALL_TOOLS) $(INSTALL_SCRIPTS) $(SETUP_INFO) + +.PHONY : all+ +all+: clean+ all distrib + +# +#-------------------------- + +.PHONY : ch+ +ch+: chmod chown chgrp + +# +#-------------------------- + +.PHONY : chmod +chmod: + @printf "$(LOGFORMAT)" chmod 775/664 "" + @for d in . $(DIR_LIST); do test -d "$$d" && chmod ug+rw "$$d"/*; done || true + @for d in . $(DIR_LIST); do test -d "$$d" && chmod -f a+x "$$d"/*.sh; done || true + @for d in $(DIR_LIST); do test -d "$$d" && chmod 775 "$$d"; done || true + @for t in $(ALL_TOOLS_X); do test -f "$$t" && chmod 775 "$$t"; done || true + @chmod 664 src/*.[hc] src/*/*.[hc] dclib/*.[hc] + +# +#-------------------------- + +.PHONY : chown +chown: + @printf "$(LOGFORMAT)" chown "-R $$( stat -c%u . 2>/dev/null || stat -f%u . ) ." "" + @chown "$$( stat -c%u . 2>/dev/null || stat -f%u . )" * + @for d in $(DIR_LIST); do test -d "$$d" && \ + chown -R "$$( stat -c%u . 2>/dev/null || stat -f%u . )" "$$d"; done || true + +# +#-------------------------- + +.PHONY : chgrp +chgrp: + @printf "$(LOGFORMAT)" chgrp "-R $$( stat -c%g . 2>/dev/null || stat -f%g . ) ." "" + @chgrp "$$( stat -c%u . 2>/dev/null || stat -f%u . )" * + @for d in $(DIR_LIST); do test -d "$$d" && \ + chgrp -R "$$( stat -c%g . 2>/dev/null || stat -f%g . )" "$$d"; done || true + +# +#-------------------------- + +.PHONY : clean +clean: + @printf "$(LOGFORMAT)" rm "output files + distrib" "" + -@rm -fr _start-pos.tmp + @find -type d -name test.tmp -exec rm -rf {} + + @rm -f $(RM_FILES) + @rm -fr $(DISTRIB_RM)* $(LIBEXPORT) + @cd dclib && rm -f $(DCLIB_PRIVATE) + +.phony : do_clean+ +do_clean+: clean + @printf "$(LOGFORMAT)" rm "test files + template output" "" + -@rm -f $(RM_FILES2) + -@rm -fr doc + +.PHONY : c+ clean+ +c+ clean+: do_clean+ + +.PHONY : c++ clean++ +c++ clean++: do_clean+ st + +# +#-------------------------- + +.PHONY: dclib +dclib: + @echo "DCLIB_MYSQL=$(DCLIB_MYSQL)" + @echo "DCLIB_FLAGS=$(DCLIB_FLAGS)" + @echo "DCLIB_O=$(DCLIB_O)" + +# +#-------------------------- + +.PHONY : debug +debug: + @printf "$(LOGFORMAT)" enable debug "-> define -DDEBUG" + @rm -f *.o $(ALL_TOOLS_X) + @echo "-DDEBUG" >>$(MODE_FILE) + @sort $(MODE_FILE) | uniq > $(MODE_FILE).tmp +# 2 steps to bypass a cygwin mv failure + @cp $(MODE_FILE).tmp $(MODE_FILE) + @rm -f $(MODE_FILE).tmp + +# +#-------------------------- + +.PHONY : distrib2 +distrib2: +ifeq ($(SYSTEM_LINUX),1) + + @printf "\n---------- DISTRIB LINUX/I386 ----------\n\n" + @for t in $(ALL_TOOLS_X); do rm -f bin/$$t; done + @$(MAKE) --no-print-directory clean+ + @M32=1 $(MAKE) --no-print-directory distrib + @mv "$(DISTRIB_I386)" "save-$(DISTRIB_I386)" + + @printf "\n---------- DISTRIB LINUX/X86_64 ----------\n\n" + @for t in $(ALL_TOOLS_X); do rm -f bin/$$t; done + @$(MAKE) --no-print-directory clean+ + @$(MAKE) --no-print-directory distrib + @mv "save-$(DISTRIB_I386)" "$(DISTRIB_I386)" + +else + @$(MAKE) --no-print-directory clean+ distrib +endif + +#----- + +.PHONY : distrib +distrib: +ifeq ($(SYSTEM),mac) + @NOWIIMM=1 $(MAKE) --no-print-directory mac-distrib +else ifeq ($(SYSTEM),cygwin) + NOWIIMM=1 $(MAKE) --no-print-directory all doc cygwin-copy.sh \ + $(CYGWIN_SCRIPTS) gen-distrib info +else + NOWIIMM=1 STATIC=1 $(MAKE) --no-print-directory all doc gen-distrib info +endif + +#----- + +.PHONY : gen-distrib +gen-distrib: + @printf "$(LOGFORMAT)" create "$(DISTRIB_PATH)" "" + +ifeq ($(SYSTEM),cygwin) + + @rm -rf $(DISTRIB_PATH)/* 2>/dev/null || true + @rm -rf $(DISTRIB_PATH) 2>/dev/null || true + @mkdir -p $(DISTRIB_PATH)/bin/windows-sendto + @mkdir -p $(DISTRIB_PATH)/scripts + @mkdir -p $(DISTRIB_PATH)/doc $(DISTRIB_PATH)/support + @./cygwin-copy.sh + @printf '@cmd\r\n' >$(DISTRIB_PATH)/bin/szs-console.bat + @cp -p gpl-2.0.txt $(DISTRIB_PATH) + @ln -f $(MAIN_TOOLS) $(CYGWIN_SCRIPTS) $(CYGWIN_INSTALL) $(DISTRIB_PATH)/bin + @ln -f $(SETUP_DIR)/windows-sendto/*.bat $(DISTRIB_PATH)/bin/windows-sendto + @ln -f $(CYGWIN_INSTALL) $(CYGWIN_UNINSTALL) $(SETUP_INFO) $(DISTRIB_PATH) + @cp -p $(DOC_FILES) $(DISTRIB_PATH)/doc + @cp -p $(SUPPORT_FILES) $(DISTRIB_PATH)/support + @rm -f $(DISTRIB_PATH)/doc/$(IGNORE_DOC_FILES) + @cp -rp $$( cat ./scripts/distrib.list ) $(DISTRIB_PATH)/scripts/ + @rm -rf $(DISTRIB_PATH)/scripts/*/.svn + + @zip -roq $(DISTRIB_PATH).zip $(DISTRIB_PATH) + @chmod 664 $(DISTRIB_PATH).zip + +else + + @rm -rf $(DISTRIB_PATH) + @mkdir -p $(DISTRIB_PATH)/bin $(DISTRIB_PATH)/scripts + @mkdir -p $(DISTRIB_PATH)/doc $(DISTRIB_PATH)/support + + @cp -p $(DISTRIB_FILES) $(DISTRIB_PATH) + @ln -f $(MAIN_TOOLS) $(DISTRIB_PATH)/bin + @for t in $(EXTRA_TOOLS); do [[ -f bin/$(SYSTEM)/$$t ]] \ + && ln -f bin/$(SYSTEM)/$$t $(DISTRIB_PATH)/bin; done || true + @cp -p $(DOC_FILES) $(DISTRIB_PATH)/doc + @cp -p $(SUPPORT_FILES) $(DISTRIB_PATH)/support + @rm -f $(DISTRIB_PATH)/doc/$(IGNORE_DOC_FILES) + @cp -rp $$( cat ./scripts/distrib.list ) $(DISTRIB_PATH)/scripts/ + @rm -rf $(DISTRIB_PATH)/scripts/*/.svn + + @chmod -R 664 $(DISTRIB_PATH) + @chmod a+x $(DISTRIB_PATH)/*.sh $(DISTRIB_PATH)/bin*/* + -@ chmod a+x $(DISTRIB_PATH)/scripts/*.sh 2>/dev/null + @chmod -R a+X $(DISTRIB_PATH) + + @tar -czf $(DISTRIB_PATH).tar.gz $(DISTRIB_PATH) + @chmod 664 $(DISTRIB_PATH).tar.gz + +endif + +#----- + +.PHONY : copy-distrib +copy-distrib: distrib2 + @printf "$(LOGFORMAT)" copy "$(DISTRIB_BASE).*" "-> $(DOWNLOAD_DIR)" + @[[ -s "$(DISTRIB_I386)" ]] \ + && cp --preserve=time "$(DISTRIB_I386)" "$(DOWNLOAD_DIR)" \ + || true + @[[ -s "$(DISTRIB_X86_64)" ]] \ + && cp --preserve=time "$(DISTRIB_X86_64)" "$(DOWNLOAD_DIR)" \ + || true + @[[ -s "$(DISTRIB_CYGWIN)" ]] \ + && cp --preserve=time "$(DISTRIB_CYGWIN)" "$(DOWNLOAD_DIR)" \ + || true + +# +#-------------------------- + +.PHONY : doc +doc: $(MAIN_TOOLS) templates.sed gen-doc + @mkdir -p ./doc + +.PHONY : gen-doc +gen-doc: + @printf "$(LOGFORMAT)" create documentation "" + @chmod ug+x $(GEN_TEMPLATE) + @$(GEN_TEMPLATE) + +.PHONY : doc+ +doc+: doc info + +# +#-------------------------- + +.PHONY : flags +flags: + @echo "" + @echo "DEFINES: $(DEFINES)" + @echo "" + @echo "CFLAGS: $(CFLAGS)" + @echo "" + @echo "LDFLAGS: $(LDFLAGS)" + @echo "" + @echo "LIBS: $(LIBS)" + @echo "" + @echo "C_OBJECTS: $(C_OBJECTS)" + @echo "" + @echo "UI_FILES: $(UI_FILES)" + @echo "" + @echo "ALL_TOOLS: $(ALL_TOOLS)" + @echo "" + @echo "WRAPPER_TOOLS: $(WRAPPER_TOOLS)" + @echo "" + @echo "ALL_TOOLS_X: $(ALL_TOOLS_X)" + @echo "" + +# +#-------------------------- + +.PHONY : info +info: szs.def wszst wkclt wkmpt + @printf "$(LOGFORMAT)" create info.def "" + @mkdir -p doc + @./wszst _export makedoc > doc/info.def + @./wkclt _export makedoc functions >> doc/info.def + @./wkmpt _export makedoc functions >> doc/info.def + +# +#-------------------------- + +.PHONY : install +install: all +ifeq ($(SYSTEM),cygwin) + @[[ -d $(DISTRIB_PATH)/bin ]] || make distrib + @chmod a+x "$(DISTRIB_PATH)/windows-install.exe" + @( cd "$(DISTRIB_PATH)" && ./windows-install.exe ) +else + @chmod a+x install.sh + @./install.sh --make +endif + +.PHONY : install+ +install+: clean+ all + @chmod a+x install.sh + @./install.sh --make + +#-------------------------- + +.PHONY : install2 +install2: +ifeq ($(SYSTEM_LINUX),1) + + @printf "\n---------- INSTALL LINUX/I386 ----------\n\n" + @for t in $(ALL_TOOLS_X); do rm -f bin/$$t; done + @$(MAKE) --no-print-directory clean+ + @M32=1 $(MAKE) -j --no-print-directory install + +ifeq ($(HAVE_INSTBIN_32),1) + @printf "$(LOGFORMAT)" copy "$(INSTBIN)/* to $(INSTBIN_32)" + @for f in $(BIN_FILES); do [[ -f $(INSTBIN)/$$f ]] \ + && cp -p $(INSTBIN)/$$f $(INSTBIN_32); done; true +endif + + @printf "\n---------- INSTALL LINUX/X86_64 ----------\n\n" + @for t in $(ALL_TOOLS_X); do rm -f bin/$$t; done + @$(MAKE) --no-print-directory clean+ + @$(MAKE) -j --no-print-directory install doc info + +ifeq ($(HAVE_INSTBIN_64),1) + @printf "$(LOGFORMAT)" copy "$(INSTBIN)/* to $(INSTBIN_64)" + @for f in $(BIN_FILES); do [[ -f $(INSTBIN)/$$f ]] \ + && cp -p $(INSTBIN)/$$f $(INSTBIN_64); done; true +endif + +else + @$(MAKE) --no-print-directory clean+ install +endif + +# +#-------------------------- + +.PHONY : export32 +export32: + @printf "\n---------- BUILDING EXPORT (I386) ----------\n\n" + @rm -rf ./bin/export-i386 + @mkdir -p ./bin/export-i386 + @M32=1 NOWIIMM=1 STATIC=1 $(MAKE) --no-print-directory clean+ all + @for f in $(BIN_FILES); do [[ -f ./$$f ]] \ + && cp -p ./$$f ./bin/export-i386/; done; true + +.PHONY : export64 +export64: + @printf "\n---------- BUILDING EXPORT (X86_64) ----------\n\n" + @rm -rf ./bin/export-x86_64 + @mkdir -p ./bin/export-x86_64 + @NOWIIMM=1 STATIC=1 $(MAKE) --no-print-directory clean+ all + @for f in $(BIN_FILES); do [[ -f ./$$f ]] \ + && cp -p ./$$f ./bin/export-x86_64/; done; true + +.PHONY : export +export: +ifeq ($(SYSTEM_LINUX),1) + + $(MAKE) --no-print-directory export32 export64 + +else ifeq ($(SYSTEM),cygwin) + + @printf "\n---------- BUILDING EXPORT (CYGWIN) ----------\n\n" + @rm -rf ./bin/export-cygwin + @mkdir -p ./bin/export-cygwin + @NOWIIMM=1 $(MAKE) --no-print-directory clean+ all + @for f in $(BIN_FILES); do [[ -f ./$$f ]] \ + && cp -p ./$$f ./bin/export-cygwin/; done; true + @[[ -d "$(EXPORT_DIR)" ]] && cp -r ./bin/export-cygwin "$(EXPORT_DIR)/" + +else ifeq ($(SYSTEM),mac) + + @printf "\n---------- BUILDING EXPORT (MAC) ----------\n\n" + @rm -rf ./bin/export-mac + @mkdir -p ./bin/export-mac + @NOWIIMM=1 $(MAKE) --no-print-directory mac-distrib + @for f in $(BIN_FILES); do [[ -f ./$$f ]] \ + && cp -p ./$$f ./bin/export-mac/; done; true + @[[ -d "$(EXPORT_DIR)" ]] && cp -r ./bin/export-mac "$(EXPORT_DIR)/" + +else + + @printf "\n---------- BUILDING EXPORT ----------\n\n" + @rm -rf ./bin/export + @mkdir -p ./bin/export + @NOWIIMM=1 STATIC=1 $(MAKE) --no-print-directory clean+ all + @for f in $(BIN_FILES); do [[ -f ./$$f ]] \ + && cp -p ./$$f ./bin/export/; done; true + +endif + +.PHONY : export+ +export+: export + @printf "\n---------- BUILDING EXPORT ----------\n\n" + @printf "$(LOGFORMAT)" copy "export-bin to DISTRIB & LESERATTE" + @cp -p bin/export-x86_64/wszst /n/www/download.wiimm.de/florian/bin/wszst + @cp -p bin/export-x86_64/wszst /n/mkw-fun/distrib/bin/linux64/ + @cp -p bin/export-i386/wszst /n/mkw-fun/distrib/bin/linux32/ + @cp -p bin/export-cygwin/wszst.exe /n/mkw-fun/distrib/bin/cygwin/ || true + +# +#-------------------------- + +.PHONY : libexport +libexport: + @printf "$(LOGFORMAT)" export "-> $(LIBEXPORT)" + @rm -rf $(LIBEXPORT) + @mkdir -p $(LIBEXPORT) + @cp -p $(LIBEX_FILES) $(LIBEXPORT) + +# +#-------------------------- + +.PHONY : new +new: + @printf "$(LOGFORMAT)" enable new "-> define -DNEW_FEATURES" + @rm -f *.o $(ALL_TOOLS_X) + @echo "-DNEW_FEATURES" >>$(MODE_FILE) + @sort $(MODE_FILE) | uniq > $(MODE_FILE).tmp +# 2 steps to bypass a cygwin mv failure + @cp $(MODE_FILE).tmp $(MODE_FILE) + @rm -f $(MODE_FILE).tmp + +# +#-------------------------- + +.PHONY : predef +predef: + @gcc -E -dM none.c | sort + +# +#-------------------------- + +templates.sed: Makefile + @printf "$(LOGFORMAT)" create templates.sed "" + @echo -e '' \ + '/^~/ d;\n' \ + 's|@.@@@|$(VERSION_NUM)|g;\n' \ + 's|@@@@-@@-@@|$(DATE)|g;\n' \ + 's|@@:@@:@@|$(TIME)|g;\n' \ + 's|@@AUTHOR@@|$(AUTHOR)|g;\n' \ + 's|@@TOOLSET-SHORT@@|$(TOOLSET_SHORT)|g;\n' \ + 's|@@TOOLSET-LONG@@|$(TOOLSET_LONG)|g;\n' \ + 's|@@WSZST-SHORT@@|$(WSZST_SHORT)|g;\n' \ + 's|@@WSZST-LONG@@|$(WSZST_LONG)|g;\n' \ + 's|@@WBMGT-SHORT@@|$(WBMGT_SHORT)|g;\n' \ + 's|@@WBMGT-LONG@@|$(WBMGT_LONG)|g;\n' \ + 's|@@WCTCT-SHORT@@|$(WCTCT_SHORT)|g;\n' \ + 's|@@WCTCT-LONG@@|$(WCTCT_LONG)|g;\n' \ + 's|@@WIMGT-SHORT@@|$(WIMGT_SHORT)|g;\n' \ + 's|@@WIMGT-LONG@@|$(WIMGT_LONG)|g;\n' \ + 's|@@WKCLT-SHORT@@|$(WKCLT_SHORT)|g;\n' \ + 's|@@WKCLT-LONG@@|$(WKCLT_LONG)|g;\n' \ + 's|@@WKMPT-SHORT@@|$(WKMPT_SHORT)|g;\n' \ + 's|@@WKMPT-LONG@@|$(WKMPT_LONG)|g;\n' \ + 's|@@WLECT-SHORT@@|$(WLECT_SHORT)|g;\n' \ + 's|@@WLECT-LONG@@|$(WLECT_LONG)|g;\n' \ + 's|@@WMDLT-SHORT@@|$(WMDLT_SHORT)|g;\n' \ + 's|@@WMDLT-LONG@@|$(WMDLT_LONG)|g;\n' \ + 's|@@WPATT-SHORT@@|$(WPATT_SHORT)|g;\n' \ + 's|@@WPATT-LONG@@|$(WPATT_LONG)|g;\n' \ + 's|@@WSTRT-SHORT@@|$(WSTRT_SHORT)|g;\n' \ + 's|@@WSTRT-LONG@@|$(WSTRT_LONG)|g;\n' \ + 's|@@VERSION@@|$(VERSION)|g;\n' \ + 's|@@VERSION-NUM@@|$(VERSION_NUM)|g;\n' \ + 's|@@VERSION-INT@@|$(VERSION_INT)|g;\n' \ + 's|@@BETA-VERSION@@|$(BETA_VERSION)|g;\n' \ + 's|@@BETA-SUFFIX@@|$(BETA_SUFFIX)|g;\n' \ + 's|@@REV@@|$(REVISION)|g;\n' \ + 's|@@REV-NUM@@|$(REVISION_NUM)|g;\n' \ + 's|@@REV-NEXT@@|$(REVISION_NEXT)|g;\n' \ + 's|@@BINTIME@@|$(BINTIME)|g;\n' \ + 's|@@DATE@@|$(DATE)|g;\n' \ + 's|@@TIME@@|$(TIME)|g;\n' \ + 's|@@YEAR@@|$(YEAR)|g;\n' \ + 's|@@INSTALL-PATH@@|$(INSTALL_PATH)|g;\n' \ + 's|@@BIN-FILES@@|$(BIN_FILES)|g;\n' \ + 's|@@SHARE-FILES@@|$(SHARE_FILES)|g;\n' \ + 's|@@CYGWIN-DIR@@|$(CYGWIN_DIR)|g;\n' \ + 's|@@CYGWIN-TOOLS@@|$(CYGWIN_TOOLS)|g;\n' \ + 's|@@WIN-INSTALL-PATH@@|$(WIN_INSTALL_PATH)|g;\n' \ + 's|@@DISTRIB-PATH@@|$(DISTRIB_PATH)|g;\n' \ + 's|@@DISTRIB-I386@@|$(DISTRIB_I386)|g;\n' \ + 's|@@DISTRIB-X86_64@@|$(DISTRIB_X86_64)|g;\n' \ + 's|@@DISTRIB-MAC@@|$(DISTRIB_MAC)|g;\n' \ + 's|@@DISTRIB-CYGWIN@@|$(DISTRIB_CYGWIN)|g;\n' \ + 's|@@URI-REPOS@@|$(URI_REPOS)|g;\n' \ + 's|@@URI-VIEWVC@@|$(URI_VIEWVC)|g;\n' \ + 's|@@URI-HOME@@|$(URI_HOME)|g;\n' \ + 's|@@URI-SOURCE@@|$(URI_SOURCE)|g;\n' \ + 's|@@URI-DOWNLOAD@@|$(URI_DOWNLOAD)|g;\n' \ + 's|@@URI-DOWNLOAD-I386@@|$(URI_DOWNLOAD_I386)|g;\n' \ + 's|@@URI-DOWNLOAD-X86_64@@|$(URI_DOWNLOAD_X86_64)|g;\n' \ + 's|@@URI-DOWNLOAD-MAC@@|$(URI_DOWNLOAD_MAC)|g;\n' \ + 's|@@URI-DOWNLOAD-CYGWIN@@|$(URI_DOWNLOAD_CYGWIN)|g;\n' \ + 's|@@HAVE-XSRC@@|$(HAVE_XSRC)|g;\n' \ + >templates.sed + +# +#-------------------------- + +.PHONY : st +st: + @printf "$(LOGFORMAT)" svn status + @[[ -h xsrc ]] && rm xsrc || true + @test -d .svn && svn status | sort -k2 || true + @printf "* N=" + @svn diff | grep ^+ | wc -l + +# +#-------------------------- + +.PHONY : test +test: + @printf "$(LOGFORMAT)" enable test "-> define -DTEST" + @rm -f *.o $(ALL_TOOLS_X) + @echo "-DTEST" >>$(MODE_FILE) + @sort $(MODE_FILE) | uniq > $(MODE_FILE).tmp +# 2 steps to bypass a cygwin mv failure + @cp $(MODE_FILE).tmp $(MODE_FILE) + @rm -f $(MODE_FILE).tmp + +# +#-------------------------- + +.PHONY : test-trace +test-trace: + @printf "$(LOGFORMAT)" enable testtrace "-> define -DTESTTRACE" + @rm -f *.o $(ALL_TOOLS_X) + @echo "-DTESTTRACE" >>$(MODE_FILE) + @sort $(MODE_FILE) | uniq > $(MODE_FILE).tmp +# 2 steps to bypass a cygwin mv failure + @cp $(MODE_FILE).tmp $(MODE_FILE) + @rm -f $(MODE_FILE).tmp + +# +#-------------------------- + +.PHONY : tools +tools: $(ALL_TOOLS) + +# +#-------------------------- + +.PHONY : wait +wait: + @printf "$(LOGFORMAT)" enable wait "-> define -DWAIT_ENABLED" + @rm -f *.o $(ALL_TOOLS_X) + @echo "-DWAIT_ENABLED" >>$(MODE_FILE) + @sort $(MODE_FILE) | uniq > $(MODE_FILE).tmp +# 2 steps to bypass a cygwin mv failure + @cp $(MODE_FILE).tmp $(MODE_FILE) + @rm -f $(MODE_FILE).tmp + +# +#-------------------------- + +.PHONY : wrapper +wrapper: + @printf "$(LOGFORMAT)" create "wrapper scripts" + @mkdir -p ./bin/wrapper + @for f in $(WRAPPER_TOOLS); do \ + printf '#!/usr/bin/sh\nwszst %s "$$@"\n' "$$f" >./bin/wrapper/$$f; done + @chmod 775 ./bin/wrapper/* + +# +############################################################################### +# help rule + +.PHONY : help +help: + @echo "" + @echo "$(DATE) $(TIME) - $(VERSION) - svn r$(REVISION):$(REVISION_NEXT)" + @echo "" + @echo " make := make all" + @echo " make all make all tools and install scripts" + @echo " make all+ := make clean+ all distrib" + @echo " make _tool_ compile only the named '_tool_' (wszst,...)" + @echo " make tools make all tools" + @echo " make libexport create directory '$(LIBEXPORT)' with export files." + @echo "" + @echo " make clean remove all output files" + @echo " make clean+ make clean & rm test_files & rm template_output" + @echo "" + @echo " make debug enable '-DDEBUG'" + @echo " make test enable '-DTEST'" + @echo " make new enable '-DNEW_FEATURES'" + @echo " make wait enable '-DWAIT'" + @echo " make testtrace enable '-DTESTTRACE'" + @echo " make flags print DEFINES, CFLAGS and LDFLAGS" + @echo "" + @echo " make doc generate doc files from their templates" + @echo " make distrib make all & build $(DISTRIB_PATH)" + @echo " make distrib2 make distrib (i386 + X86_64 for linux)" + @echo " make install make all & copy tools to $(INSTALL_PATH)" + @echo " make install+ := make clean+ install" + @echo " make install2 make install+ (i386 + X86_64 for linux)" + @echo "" + @echo " make chmod change mode 775/644 for known dirs and files" + @echo " make chown change owner of all dirs+files to owner of ." + @echo " make chgrp change group of all dirs+files to group of ." + @echo " make ch+ := make chmod chown chgrp" + @echo "" + @echo " make help print this help" + @echo "" + @echo "-------------------------------------------------------------------------------" + @awk -F: '/^.PHONY/ { gsub(/[[:blank:]]*/,"",$$2); print $$2}' $(MYMAKE) \ + | sort | pr -5T -w80 + @echo "-------------------------------------------------------------------------------" + +# @echo "------" +# @echo $(TOBJ_ALL) +# @echo "------" +# @echo $(C_OBJECTS) +# @echo "------" +# @echo $(SZS_O) +# @echo "------" + diff --git a/project/Makefile.user b/project/Makefile.user new file mode 100644 index 0000000..a5badf2 --- /dev/null +++ b/project/Makefile.user @@ -0,0 +1 @@ +-include work/Makefile.user |
