Files
2022-12-13 12:44:04 +01:00

136 lines
4.2 KiB
Makefile

!IF "$(VERBOSE)" != "YES"
MAKE = $(MAKE) -s VERBOSE=NO
!ENDIF
BASEDIR = $(MAKEDIR)
BASEINCLUDES = $(BASEDIR)\include
BASEBIN = $(BASEDIR)\bin
BASELIB = $(BASEDIR)\lib
HEADERS = dir\*.h dir\*.i
SRCONLY_DIRS = $(BASEDIR)\cdevClient\
$(BASEDIR)\cdevContextMap\
$(BASEDIR)\cdevMonitorTable\
$(BASEDIR)\cdevPacket\
$(BASEDIR)\cdevServer\
$(BASEDIR)\cdevTagMap\
$(BASEDIR)\common\
LIB_DIRS = $(BASEDIR)\cdevReactor\
$(BASEDIR)\NameServer\src\
$(BASEDIR)\NameServer\cdev\
$(BASEDIR)\lib\
$(BASEDIR)\liteClient
UTIL_DIRS = $(BASEDIR)\NameServer\dumpServer
EXAMPLE_DIRS = $(BASEDIR)\NameServer\examples\
$(BASEDIR)\example
TEST_DIRS = $(BASEDIR)\tests\
$(BASEDIR)\cdevReactor\TimerTest\
$(BASEDIR)\cdevReactor\ServerTest
DOC_DIRS = $(BASEDIR)\doc\
HEADER_DIRS = $(BASEDIR)\cdevReactor\
$(BASEDIR)\cdevTagMap\
$(BASEDIR)\cdevContextMap\
$(BASEDIR)\cdevMonitorTable\
$(BASEDIR)\cdevPacket\
$(BASEDIR)\common\
$(BASEDIR)\cdevClient\
$(BASEDIR)\cdevServer\
$(BASEDIR)\NameServer\src\
$(BASEDIR)\NameServer\cdev
CLEAN_DIRS = $(SRCONLY_DIRS)\
$(LIB_DIRS)\
$(UTIL_DIRS)\
$(EXAMPLE_DIRS)\
$(TEST_DIRS)\
$(DOC_DIRS)
all: hail directories headers shared utils fairwell
everything: hail directories headers shared utils examples apps other fairwell
hail:
@echo ---------------------------------------------------------------
@echo Building CDEV Generic Server for Target : $(ARCH)
@echo ---------------------------------------------------------------
fairwell:
@echo ---------------------------------------------------------------
@echo CDEV Generic Server has been built for Target : $(ARCH)
@echo ---------------------------------------------------------------
directories:
@echo =^> Creating directories for binary files
-@if not exist $(BASEBIN) mkdir $(BASEBIN)
-@if not exist $(BASELIB) mkdir $(BASELIB)
-@copy $(BASEINCLUDES)\makeinclude\NMakefile.lib $(BASELIB)\NMakefile.mak
@echo ^<= Done...
headers:
@echo =^> Copying header files to include directory
-@for %d in ($(HEADER_DIRS)) do @for %f in ($(HEADERS:dir=%d)) do @copy %f $(BASEINCLUDES) > nul
@echo ^<= Done...
archives:
@echo =^> Building archive version of libraries
@for %d in ($(LIB_DIRS)) do @cd %d & $(MAKE) /NOLOGO SHOBJ=NO /f NMakefile.mak
@echo <^= Done...
shared:
@echo =^> Building shared version of libraries
@for %d in ($(LIB_DIRS)) do @cd %d & $(MAKE) /NOLOGO SHOBJ=YES /f NMakefile.mak
@echo ^<= Done...
utils:
@echo =^> Building utility programs
@for %d in ($(UTIL_DIRS)) do @cd %d & $(MAKE) /NOLOGO SHOBJ=YES /f NMakefile.mak
@echo ^<= Done...
examples:
@echo =^> Building example programs
@for %d in ($(EXAMPLE_DIRS)) do @cd %d & $(MAKE) /NOLOGO SHOBJ=YES /f NMakefile.mak
@echo ^<= Done...
apps:
@echo =^> Building test programs
@for %d in ($(TEST_DIRS)) do @cd %d & $(MAKE) /NOLOGO SHOBJ=YES /f NMakefile.mak
@echo ^<= Done...
other:
@echo =^> Building miscellaneous applications and libraries
@for %d in ($(SRCONLY_DIRS)) do @cd %d & $(MAKE) /NOLOGO SHOBJ=YES /f NMakefile.mak
@echo ^<= Done...
clean:
@echo =^> Cleaning CDEV Generic Server Directories
@for %d in ($(CLEAN_DIRS)) do @if exist %d\NMakefile.mak cd %d & $(MAKE) /NOLOGO /f NMakefile.mak clean
@echo ^<= Done...
purge:
@echo =^> Purging CDEV Generic Server Directories
@echo ^ ^ ^ =^> Removing header files
-@for %f in ($(BASEINCLUDES)\*.h $(BASEINCLUDES)\*.i) do @erase %f
@echo ^ ^ ^ ^ ^ ^ Done...
@for %d in ($(CLEAN_DIRS)) do @if exist %d\NMakefile.mak cd %d & $(MAKE) /NOLOGO /f NMakefile.mak purge
-@if exist $(BASEDIR)\lib rmdir /s /q $(BASEDIR)\lib
-@if exist $(BASEDIR)\bin rmdir /s /q $(BASEDIR)\bin
@echo ^<= Done...
!IF "$(SUBTARGETDIR)" == ""
subtarget :
-@echo SUBTARGETDIR variable must be defined to build subtargets
!ELSE
!IF "$(SUBTARGET)" == ""
SUBTARGET = all
!ENDIF
subtarget :
@cd $(SUBTARGETDIR)
@$(MAKE) /NOLOGO /f NMakefile.mak $(SUBTARGET)
!ENDIF