Skip to content

Commit

Permalink
Makefile: Compile zlib .c files with DMD via importC
Browse files Browse the repository at this point in the history
As was already done in the former win{32,64}.mak files on Windows,
but not in posix.mak.
  • Loading branch information
kinke committed Dec 16, 2023
1 parent fa6dcb7 commit 736e34d
Showing 1 changed file with 4 additions and 41 deletions.
45 changes: 4 additions & 41 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -101,59 +101,23 @@ else
DRUNTIME = $(DRUNTIME_PATH)/../generated/$(OS)/$(BUILD)/$(MODEL)/druntime.lib
endif

# Set CC and DMD
# Set DMD
ifeq ($(OS),win32wine)
CC = wine dmc.exe
DMD = wine dmd.exe
RUN = wine
else
DMD = $(DMD_DIR)/generated/$(OS)/$(BUILD)/$(MODEL)/dmd$(DOTEXE)
ifeq ($(MODEL),32omf)
CC = dmc
else ifeq ($(OS),windows)
CC = cl.exe
else
CC = cc
endif
RUN =
endif

# Set CFLAGS
OUTFILEFLAG = -o
# Set extra CFLAGS (for DMD - the zlib .c files are compiled via importC)
NODEFAULTLIB=-defaultlib= -debuglib=
ifeq (,$(findstring win,$(OS)))
CFLAGS=$(MODEL_FLAG) -fPIC -std=c11 -DHAVE_UNISTD_H
CFLAGS += -P=-DHAVE_UNISTD_H
# Bundled with the system library on OSX, and doesn't work with >= MacOS 11
ifneq (osx,$(OS))
NODEFAULTLIB += -L-lpthread -L-lm
endif
ifeq ($(BUILD),debug)
CFLAGS += -g
else
CFLAGS += -O3
endif
else
ifeq ($(MODEL),32omf)
CFLAGS=-DNO_snprintf
ifeq ($(BUILD),debug)
CFLAGS += -g
else
CFLAGS += -O
endif
else # win64/win32coff
OUTFILEFLAG = /Fo
CFLAGS += /nologo /Zl /GS-
ifeq ($(BUILD),debug)
CFLAGS += /Z7
else
CFLAGS += /O2
endif
endif
endif
ifeq (osx,$(OS))
ifeq (64,$(MODEL))
CFLAGS+=--target=x86_64-darwin-apple # ARM cpu is not supported by dmd
endif
endif


Expand Down Expand Up @@ -351,8 +315,7 @@ lib: $(LIB)
dll: $(ROOT)/libphobos2.so

$(ROOT)/%$(DOTOBJ): %.c
@[ -d $(dir $@) ] || mkdir -p $(dir $@) || [ -d $(dir $@) ]
$(CC) -c $(CFLAGS) $< $(OUTFILEFLAG)$@
$(DMD) -c $(DFLAGS) -P=-Ietc/c/zlib $(CFLAGS) -of$@ $<

$(LIB): $(OBJS) $(ALL_D_FILES) $(DRUNTIME)
$(DMD) $(DFLAGS) -lib -of$@ $(DRUNTIME) $(D_FILES) $(OBJS)
Expand Down

0 comments on commit 736e34d

Please sign in to comment.