summaryrefslogtreecommitdiffhomepage
path: root/project
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2016-05-10 22:30:10 -0400
committermidipix <writeonce@midipix.org>2016-05-14 07:18:24 -0400
commit55102473ca45f7fef3f5d43caa783cd741f446d0 (patch)
tree0c71d9d6425507196716ee740541d84eb6f98fcb /project
parentf62cf86981025d5fb6f49b19db8153722c954f13 (diff)
downloadntapi-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.mk31
-rw-r--r--project/extras.mk23
-rw-r--r--project/overrides.mk4
-rw-r--r--project/tagver.mk5
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