mirror of
https://github.com/reactos/reactos.git
synced 2025-07-04 06:51:22 +00:00
Add host_library TARGET_TYPE
svn path=/trunk/; revision=13682
This commit is contained in:
parent
a3ee39d788
commit
b9eeb2efc0
1 changed files with 35 additions and 15 deletions
|
@ -11,6 +11,7 @@
|
||||||
# export_driver = Kernel mode driver that have exported functions
|
# export_driver = Kernel mode driver that have exported functions
|
||||||
# driver_library = Import library for a driver
|
# driver_library = Import library for a driver
|
||||||
# kmlibrary = Static kernel-mode library
|
# kmlibrary = Static kernel-mode library
|
||||||
|
# host_library = Static library for use in the build env
|
||||||
# hal = Hardware Abstraction Layer
|
# hal = Hardware Abstraction Layer
|
||||||
# bootpgm = Boot program
|
# bootpgm = Boot program
|
||||||
# miniport = Kernel mode driver that does not link with ntoskrnl.exe or hal.dll
|
# miniport = Kernel mode driver that does not link with ntoskrnl.exe or hal.dll
|
||||||
|
@ -223,6 +224,20 @@ ifeq ($(TARGET_TYPE),driver_library)
|
||||||
MK_RES_BASE :=
|
MK_RES_BASE :=
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(TARGET_TYPE),host_library)
|
||||||
|
TARGET_NORC := yes
|
||||||
|
MK_MODE := static
|
||||||
|
MK_DEFEXT := .a
|
||||||
|
MK_CFLAGS :=
|
||||||
|
MK_CPPFLAGS :=
|
||||||
|
MK_LIBPATH := .
|
||||||
|
MK_IMPLIB := no
|
||||||
|
MK_IMPLIBONLY := no
|
||||||
|
MK_IMPLIBDEFPATH :=
|
||||||
|
MK_CC := $(HOST_CC)
|
||||||
|
MK_AR := $(HOST_AR)
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(TARGET_TYPE),driver)
|
ifeq ($(TARGET_TYPE),driver)
|
||||||
MK_MODE := kernel
|
MK_MODE := kernel
|
||||||
MK_EXETYPE := dll
|
MK_EXETYPE := dll
|
||||||
|
@ -378,8 +393,16 @@ ifeq ($(TARGET_TYPE),test)
|
||||||
TARGET_OBJECTS := _rtstub.o _regtests.o $(TARGET_OBJECTS)
|
TARGET_OBJECTS := _rtstub.o _regtests.o $(TARGET_OBJECTS)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(MK_CC),)
|
||||||
|
MK_CC := $(CC)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(MK_AR),)
|
||||||
|
MK_AR := $(AR)
|
||||||
|
endif
|
||||||
|
|
||||||
# can be overidden with $(CXX) for linkage of c++ executables
|
# can be overidden with $(CXX) for linkage of c++ executables
|
||||||
LD_CC = $(CC)
|
LD_CC = $(MK_CC)
|
||||||
|
|
||||||
ifeq ($(RM_AT_FROM_SYMBOLS),no)
|
ifeq ($(RM_AT_FROM_SYMBOLS),no)
|
||||||
MK_KILLAT :=
|
MK_KILLAT :=
|
||||||
|
@ -545,7 +568,9 @@ endif
|
||||||
|
|
||||||
|
|
||||||
ifeq ($(TARGET_LIBPATH),)
|
ifeq ($(TARGET_LIBPATH),)
|
||||||
|
ifeq ($(MK_LIBPATH),)
|
||||||
MK_LIBPATH := $(SDK_PATH_LIB)
|
MK_LIBPATH := $(SDK_PATH_LIB)
|
||||||
|
endif
|
||||||
else
|
else
|
||||||
MK_LIBPATH := $(TARGET_LIBPATH)
|
MK_LIBPATH := $(TARGET_LIBPATH)
|
||||||
endif
|
endif
|
||||||
|
@ -755,7 +780,7 @@ endif
|
||||||
|
|
||||||
$(MK_BASENAME).a: $(MK_OBJECTS)
|
$(MK_BASENAME).a: $(MK_OBJECTS)
|
||||||
$(HALFVERBOSEECHO) [AR] $(MK_BASENAME).a
|
$(HALFVERBOSEECHO) [AR] $(MK_BASENAME).a
|
||||||
$(AR) -rc $(MK_BASENAME).a $(MK_OBJECTS)
|
$(MK_AR) -rc $(MK_BASENAME).a $(MK_OBJECTS)
|
||||||
|
|
||||||
$(MK_NOSTRIPNAME): $(MK_EXTRADEP) $(MK_FULLRES) $(MK_BASENAME).a $(MK_LIBS) $(MK_STUBS_SRC) $(MK_STUBS_OBJ)
|
$(MK_NOSTRIPNAME): $(MK_EXTRADEP) $(MK_FULLRES) $(MK_BASENAME).a $(MK_LIBS) $(MK_STUBS_SRC) $(MK_STUBS_OBJ)
|
||||||
$(HALFVERBOSEECHO) [LD] $(MK_NOSTRIPNAME)
|
$(HALFVERBOSEECHO) [LD] $(MK_NOSTRIPNAME)
|
||||||
|
@ -800,7 +825,6 @@ endif
|
||||||
$(MK_FULLNAME): $(MK_NOSTRIPNAME) $(MK_EXTRADEP)
|
$(MK_FULLNAME): $(MK_NOSTRIPNAME) $(MK_EXTRADEP)
|
||||||
$(HALFVERBOSEECHO) [RSYM] $(MK_FULLNAME)
|
$(HALFVERBOSEECHO) [RSYM] $(MK_FULLNAME)
|
||||||
$(RSYM) $(MK_NOSTRIPNAME) $(MK_FULLNAME)
|
$(RSYM) $(MK_NOSTRIPNAME) $(MK_FULLNAME)
|
||||||
@echo $(MK_FULLNAME) was successfully built.
|
|
||||||
|
|
||||||
endif # KM_MODE
|
endif # KM_MODE
|
||||||
|
|
||||||
|
@ -815,7 +839,7 @@ endif
|
||||||
|
|
||||||
$(MK_BASENAME).a: $(MK_OBJECTS)
|
$(MK_BASENAME).a: $(MK_OBJECTS)
|
||||||
$(HALFVERBOSEECHO) [AR] $(MK_BASENAME).a
|
$(HALFVERBOSEECHO) [AR] $(MK_BASENAME).a
|
||||||
$(AR) -rc $(MK_BASENAME).a $(MK_OBJECTS)
|
$(MK_AR) -rc $(MK_BASENAME).a $(MK_OBJECTS)
|
||||||
|
|
||||||
$(MK_NOSTRIPNAME): $(MK_EXTRADEP) $(MK_FULLRES) $(MK_BASENAME).a $(MK_LIBS)
|
$(MK_NOSTRIPNAME): $(MK_EXTRADEP) $(MK_FULLRES) $(MK_BASENAME).a $(MK_LIBS)
|
||||||
$(HALFVERBOSEECHO) [LD] $(MK_NOSTRIPNAME)
|
$(HALFVERBOSEECHO) [LD] $(MK_NOSTRIPNAME)
|
||||||
|
@ -852,7 +876,6 @@ endif
|
||||||
$(MK_FULLNAME): $(MK_NOSTRIPNAME)
|
$(MK_FULLNAME): $(MK_NOSTRIPNAME)
|
||||||
$(HALFVERBOSEECHO) [RSYM] $(MK_FULLNAME)
|
$(HALFVERBOSEECHO) [RSYM] $(MK_FULLNAME)
|
||||||
$(RSYM) $(MK_NOSTRIPNAME) $(MK_FULLNAME)
|
$(RSYM) $(MK_NOSTRIPNAME) $(MK_FULLNAME)
|
||||||
@echo $(MK_FULLNAME) was successfully built.
|
|
||||||
|
|
||||||
endif # MK_MODE
|
endif # MK_MODE
|
||||||
|
|
||||||
|
@ -861,10 +884,7 @@ ifeq ($(MK_MODE),static)
|
||||||
|
|
||||||
$(MK_FULLNAME): $(MK_EXTRADEP) $(MK_OBJECTS)
|
$(MK_FULLNAME): $(MK_EXTRADEP) $(MK_OBJECTS)
|
||||||
$(HALFVERBOSEECHO) [AR] $(MK_FULLNAME)
|
$(HALFVERBOSEECHO) [AR] $(MK_FULLNAME)
|
||||||
$(AR) -rc $(MK_FULLNAME) $(MK_OBJECTS)
|
$(MK_AR) -rc $(MK_FULLNAME) $(MK_OBJECTS)
|
||||||
ifneq ($(TARGET_TYPE),test)
|
|
||||||
@echo $(MK_FULLNAME) was successfully built.
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Static libraries dont have a nostrip version
|
# Static libraries dont have a nostrip version
|
||||||
$(MK_NOSTRIPNAME):
|
$(MK_NOSTRIPNAME):
|
||||||
|
@ -911,7 +931,7 @@ MK_PCHNAME = $(TARGET_PCH).gch
|
||||||
ifeq ($(TARGET_CPPAPP),yes)
|
ifeq ($(TARGET_CPPAPP),yes)
|
||||||
PCH_CC := $(CXX)
|
PCH_CC := $(CXX)
|
||||||
else # TARGET_CPPAPP
|
else # TARGET_CPPAPP
|
||||||
PCH_CC := $(CC)
|
PCH_CC := $(MK_CC)
|
||||||
endif # TARGET_CPPAPP
|
endif # TARGET_CPPAPP
|
||||||
else # ROS_USE_PCH
|
else # ROS_USE_PCH
|
||||||
MK_PCHNAME =
|
MK_PCHNAME =
|
||||||
|
@ -1063,7 +1083,7 @@ endif
|
||||||
|
|
||||||
ifeq ($(TARGET_TYPE),test)
|
ifeq ($(TARGET_TYPE),test)
|
||||||
run: all
|
run: all
|
||||||
@$(CC) -nostdlib -o _runtest.exe regtests.a $(TARGET_LIBS) _stubs.o \
|
@$(MK_CC) -nostdlib -o _runtest.exe regtests.a $(TARGET_LIBS) _stubs.o \
|
||||||
$(SDK_PATH_LIB)/librtshared.a $(SDK_PATH_LIB)/libregtests.a $(SDK_PATH_LIB)/libpseh.a \
|
$(SDK_PATH_LIB)/librtshared.a $(SDK_PATH_LIB)/libregtests.a $(SDK_PATH_LIB)/libpseh.a \
|
||||||
_hooks.o -lgcc -lmsvcrt -lntdll
|
_hooks.o -lgcc -lmsvcrt -lntdll
|
||||||
@$(CP) $(REGTESTS_PATH)/regtests/regtests.dll regtests.dll
|
@$(CP) $(REGTESTS_PATH)/regtests/regtests.dll regtests.dll
|
||||||
|
@ -1074,7 +1094,7 @@ endif
|
||||||
|
|
||||||
%.o: %.c $(MK_PCHNAME)
|
%.o: %.c $(MK_PCHNAME)
|
||||||
$(HALFVERBOSEECHO) [CC] $<
|
$(HALFVERBOSEECHO) [CC] $<
|
||||||
$(CC) $(TARGET_CFLAGS) -c $< -o $@
|
$(MK_CC) $(TARGET_CFLAGS) -c $< -o $@
|
||||||
%.o: %.cc $(MK_PCHNAME)
|
%.o: %.cc $(MK_PCHNAME)
|
||||||
$(HALFVERBOSEECHO) [CXX] $<
|
$(HALFVERBOSEECHO) [CXX] $<
|
||||||
$(CXX) $(TARGET_CPPFLAGS) -c $< -o $@
|
$(CXX) $(TARGET_CPPFLAGS) -c $< -o $@
|
||||||
|
@ -1096,7 +1116,7 @@ endif
|
||||||
ifeq ($(TARGET_TYPE),winedll)
|
ifeq ($(TARGET_TYPE),winedll)
|
||||||
%.coff: %.rc
|
%.coff: %.rc
|
||||||
$(HALFVERBOSEECHO) [RC] $<
|
$(HALFVERBOSEECHO) [RC] $<
|
||||||
$(CC) $(MK_PREPROC_FOR_RC_FLAGS) $< > $(<:.rc=.rci)
|
$(MK_CC) $(MK_PREPROC_FOR_RC_FLAGS) $< > $(<:.rc=.rci)
|
||||||
$(WRC) $(<:.rc=.rci) $(<:.rc=.res)
|
$(WRC) $(<:.rc=.rci) $(<:.rc=.res)
|
||||||
$(RM) $(<:.rc=.rci)
|
$(RM) $(<:.rc=.rci)
|
||||||
$(RC) $(<:.rc=.res) -o $@
|
$(RC) $(<:.rc=.res) -o $@
|
||||||
|
@ -1117,7 +1137,7 @@ endif
|
||||||
$(WINEBUILD) $(DEFS) -o $@ --pedll $<
|
$(WINEBUILD) $(DEFS) -o $@ --pedll $<
|
||||||
%.i: %.c
|
%.i: %.c
|
||||||
$(HALFVERBOSEECHO) [CPP] $<
|
$(HALFVERBOSEECHO) [CPP] $<
|
||||||
$(CC) $(TARGET_CFLAGS) -E $< > $@
|
$(MK_CC) $(TARGET_CFLAGS) -E $< > $@
|
||||||
%.h.gch: %.h
|
%.h.gch: %.h
|
||||||
$(HALFVERBOSEECHO) [PCH] $<
|
$(HALFVERBOSEECHO) [PCH] $<
|
||||||
$(PCH_CC) $(CFLAGS) $<
|
$(PCH_CC) $(CFLAGS) $<
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue