diff options
author | midipix <writeonce@midipix.org> | 2016-05-10 22:30:10 -0400 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2016-05-14 07:18:24 -0400 |
commit | 55102473ca45f7fef3f5d43caa783cd741f446d0 (patch) | |
tree | 0c71d9d6425507196716ee740541d84eb6f98fcb /project | |
parent | f62cf86981025d5fb6f49b19db8153722c954f13 (diff) | |
download | ntapi-55102473ca45f7fef3f5d43caa783cd741f446d0.tar.bz2 ntapi-55102473ca45f7fef3f5d43caa783cd741f446d0.tar.xz |
build system: upgrade build system, eliminate differences in core definitions.
Prior to this patch, there were several differences between this project's
build system and the one from which it was derived (sofort). Although the
differences were very minor and for the most part related to this project
being part of a free-standing, midipix-specific development framework,
they still added an extra maintenance burden, specifically by requiring
that common changes be applied via patch(1) rather than git-am(1).
Following recent improvements to the common build system, it is now
possible to have a free-standing, midipix-specific project without
any changes to the core build system files, hence the current upgrade.
Diffstat (limited to 'project')
-rw-r--r-- | project/defs.mk | 31 | ||||
-rw-r--r-- | project/extras.mk | 23 | ||||
-rw-r--r-- | project/overrides.mk | 4 | ||||
-rw-r--r-- | project/tagver.mk | 5 |
4 files changed, 25 insertions, 38 deletions
diff --git a/project/defs.mk b/project/defs.mk deleted file mode 100644 index b91ed07..0000000 --- a/project/defs.mk +++ /dev/null @@ -1,31 +0,0 @@ -SHARED_LIB_DEPS = -SHARED_APP_DEPS = -STATIC_APP_DEPS = - -COMMON_LOBJS = $(COMMON_SRCS:.c=.lo) -COMMON_OBJS = $(COMMON_SRCS:.c=.o) - -ARCH_LOBJS = $(ARCH_SRCS:.c=.lo) -ARCH_OBJS = $(ARCH_SRCS:.c=.o) - -SHARED_OBJS = $(COMMON_LOBJS) $(ARCH_LOBJS) -STATIC_OBJS = $(COMMON_OBJS) $(ARCH_OBJS) - -SHARED_LIB = lib/$(OS_LIB_PREFIX)$(PACKAGE)$(OS_LIB_SUFFIX) -STATIC_LIB = lib/$(OS_LIB_PREFIX)$(PACKAGE)$(OS_ARCHIVE_EXT) -SHARED_IMPLIB = lib/$(OS_LIB_PREFIX)$(PACKAGE)$(OS_IMPLIB_EXT) - -CFLAGS = $(CFLAGS_DEBUG) $(CFLAGS_CONFIG) $(CFLAGS_SYSROOT) \ - $(CFLAGS_COMMON) $(CFLAGS_CMDLINE) $(CFLAGS_HOST) \ - $(CFLAGS_PATH) - -CFLAGS_SHARED = $(CFLAGS) $(CFLAGS_PIC) $(CFLAGS_SHARED_ATTR) -CFLAGS_STATIC = $(CFLAGS) $(CFLAGS_OBJ) $(CFLAGS_STATIC_ATTR) - -LDFLAGS_SHARED = $(LDFLAGS_DEBUG) $(LDFLAGS_CONFIG) $(LDFLAGS_SYSROOT) \ - $(LDFLAGS_COMMON) $(LDFLAGS_CMDLINE) $(LDFLAGS_HOST) \ - $(LDFLAGS_PATH) $(SHARED_LIB_DEPS) $(LDFLAGS_LAST) - -LDFLAGS_STATIC = $(LDFLAGS_DEBUG) $(LDFLAGS_CONFIG) $(LDFLAGS_SYSROOT) \ - $(LDFLAGS_COMMON) $(LDFLAGS_CMDLINE) $(LDFLAGS_HOST) \ - $(LDFLAGS_PATH) $(STATIC_APP_DEPS) $(LDFLAGS_LAST) diff --git a/project/extras.mk b/project/extras.mk index 338d3ac..791b91e 100644 --- a/project/extras.mk +++ b/project/extras.mk @@ -1,16 +1,29 @@ CFLAGS_SHARED_ATTR += -DNTAPI_BUILD CFLAGS_STATIC_ATTR += -DNTAPI_STATIC -CFLAGS_CONFIG += -DMIDIPIX_FREESTANDING -ffreestanding -D__NT$(HOST_BITS) +CFLAGS_CONFIG += -DMIDIPIX_FREESTANDING -D__NT$(HOST_BITS) CFLAGS_CONFIG += -UWIN32 -U_WIN32 -U__WIN32 -U__WIN32__ CFLAGS_CONFIG += -UWIN64 -U_WIN64 -U__WIN64 -U__WIN64__ -LDFLAGS_SHARED += --out-implib $(SHARED_IMPLIB) -LDFLAGS_SHARED += --exclude-all-symbols +LDFLAGS_SHARED += -Wl,--exclude-all-symbols LDFLAGS_SHARED += -lpemagine -ldalist ifeq ($(HOST_BITS),32) - LDFLAGS_SHARED += --entry $(HOST_UNDERSCORE)__ntapi_entry_point@12 + LDFLAGS_SHARED += -Wl,--entry -Wl,$(HOST_UNDERSCORE)__ntapi_entry_point@12 else - LDFLAGS_SHARED += --entry $(HOST_UNDERSCORE)__ntapi_entry_point + LDFLAGS_SHARED += -Wl,--entry -Wl,$(HOST_UNDERSCORE)__ntapi_entry_point endif + +install-headers-custom: install-headers-default + mkdir -p $(DESTDIR)$(INCLUDEDIR)/$(PACKAGE)/bits + mkdir -p $(DESTDIR)$(INCLUDEDIR)/$(PACKAGE)/bits/i386 + mkdir -p $(DESTDIR)$(INCLUDEDIR)/$(PACKAGE)/bits/x86_64 + + cp $(API_HEADERS_BITS) \ + $(DESTDIR)$(INCLUDEDIR)/$(PACKAGE)/bits + + cp $(API_HEADERS_I386) \ + $(DESTDIR)$(INCLUDEDIR)/$(PACKAGE)/bits/i386 + + cp $(API_HEADERS_X86_64) \ + $(DESTDIR)$(INCLUDEDIR)/$(PACKAGE)/bits/x86_64 diff --git a/project/overrides.mk b/project/overrides.mk index 2a67ff9..80594c4 100644 --- a/project/overrides.mk +++ b/project/overrides.mk @@ -1,6 +1,6 @@ # direct linker invocation LDFLAGS_SYSROOT = $(CFLAGS_SYSROOT) -ifneq ($(PE_SUBSYSTEM)x,x) - LDFLAGS_COMMON += --subsystem=$(PE_SUBSYSTEM) +ifneq ($(PE_SUBSYSTEM),) + LDFLAGS_COMMON += -Wl,--subsystem=$(PE_SUBSYSTEM) endif diff --git a/project/tagver.mk b/project/tagver.mk new file mode 100644 index 0000000..81f1d87 --- /dev/null +++ b/project/tagver.mk @@ -0,0 +1,5 @@ +VER_NAMESPACE = NTAPI + +VER_MAJOR = 0 +VER_MINOR = 0 +VER_PATCH = 0 |